Seam 2.0.0.GA, JBoss 4.2.1

Hi, I'm fairly sure this is a Seam bug.  

I've set up an ObserveInitilization class as suggested by Pete Muir here: 
http://in.relation.to/Bloggers/DoingSomethingAtStartupWithSeam

It looks like this:

  | 
  | @Name("observeInitialization")
  | public class ObserveInitialization {
  |    
  |    @In(create=true) 
  |    Updater updater;
  | 
  |    @Observer("org.jboss.seam.postInitialization")
  |    public void start() {
  |        initialize(30 * 1000l);
  |    }
  |    
  |    @Asynchronous
  |    public void initialize(@Duration long durationInMilliseconds) {
  |           updater.update(new Date(), "0 0/3 * * * ?");
  |    }
  | }
  | 
  | 

The Updater class looks like this:

@Name("updater")
  | public class Updater {
  | 
  |     @In
  |     private EntityManager entityManager;
  | 
  |     @Logger
  |     private Log log;
  | 
  |     @Asynchronous
  |     public void update(@Expiration Date start, @IntervalCron String cron) {
  |      //...
  |      }
  | }


The issue is this code calls ThreadPoolDispatcher.scheduleWithExecutorService, 
which casts the return value of createSchedule to a TimerSchedule.

Because I'm using an @IntervalCron the return value of createSchedule is a 
CronSchedule which extends Schedule, but not TimerSchedule, so I get a 
ClassCastException

09:14:59,387 ERROR [[/admin]] Exception sending context initialized event to 
listener instance of class org.jboss.seam.servlet.SeamListener
  | java.lang.ClassCastException: org.jboss.seam.async.CronSchedule
  |     at 
org.jboss.seam.async.ThreadPoolDispatcher.scheduleInvocation(ThreadPoolDispatcher.java:47)
  |     at 
org.jboss.seam.async.ThreadPoolDispatcher.scheduleInvocation(ThreadPoolDispatcher.java:29)
  |     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  |     at 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  |     at 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  |     at java.lang.reflect.Method.invoke(Method.java:585)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:21)
  |     at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:56)
  |     at 
org.jboss.seam.transaction.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |     at 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  |     at 
org.jboss.seam.async.ThreadPoolDispatcher_$$_javassist_6.scheduleInvocation(ThreadPoolDispatcher_$$_javassist_6.java)
  |     at 
org.jboss.seam.async.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:38)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  |     at 
com.company.Updater_$$_javassist_5.update(Updater_$$_javassist_5.java)
  |     at 
com.company.ObserveInitialization.initialize(ObserveInitialization.java:29)
  | 

I compared this to the Quartz example packaged with Seam.  

That example also calls createSchedule but as a parameter to 
QuartzDispatcher.scheduleWithQuartzService which accepts a Schedule, thus no 
ClassCastException.

Has anyone else run into this?

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4106832#4106832

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4106832
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to