Hello!

I have just tried to use @Asynchronous for scheduled jobs, and it seems to work 
just as it should. Really easy to get things going :)

But I have some problems running my tests since the dispatcher fails to 
initialize when running in embedded server. I boot the embedded server myself, 
but I think I do it just like Seam does. Everything else works.

But as soon as I have a class with a method that is annotated with 
@Asynchronous, my embedded boot fails with:

Failed to invoke @Configuration method 
org.jboss.seam.mock.SeamTest.init:java.lang.NullPointerException
  | FAILED: init
  | javax.ejb.EJBException: java.lang.NullPointerException
  |     at 
org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:69)
  |     at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
  |     at 
org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:197)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInterceptor.java:76)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.stateless.StatelessInstanceInterceptor.invoke(StatelessInstanceInterceptor.java:62)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.aspects.security.AuthenticationInterceptor.invoke(AuthenticationInterceptor.java:78)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterceptor.java:47)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(AsynchronousInterceptor.java:106)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.stateless.StatelessContainer.localInvoke(StatelessContainer.java:181)
  |     at 
org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
  |     at $Proxy32.scheduleInvocation(Unknown Source)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
  |     at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
  |     at 
org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:72)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
  |     at 
org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInterceptor.java:50)
  |     at 
org.javassist.tmp.java.lang.Object_$$_javassist_2.scheduleInvocation(Object_$$_javassist_2.java)
  |     at 
org.jboss.seam.interceptors.AsynchronousInterceptor.aroundInvoke(AsynchronousInterceptor.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87)
  |     at 
no.schibstedsok.wpadmin.selfservice.scheduling.TVAksjonenService_$$_javassist_1.importPersonsRecurring(TVAksjonenService_$$_javassist_1.java)
  |     at 
no.schibstedsok.wpadmin.selfservice.scheduling.TVAksjonenImport.startService(TVAksjonenImport.java:54)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
  |     at 
org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
  |     at 
org.jboss.seam.interceptors.RollbackInterceptor.aroundInvoke(RollbackInterceptor.java:34)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:47)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.interceptors.SynchronizationInterceptor.aroundInvoke(SynchronizationInterceptor.java:31)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:151)
  |     at 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:87)
  |     at 
no.schibstedsok.wpadmin.selfservice.scheduling.TVAksjonenImport_$$_javassist_0.startService(TVAksjonenImport_$$_javassist_0.java)
  |     at org.jboss.seam.util.Reflections.invoke(Reflections.java:20)
  |     at org.jboss.seam.util.Reflections.invokeAndWrap(Reflections.java:123)
  |     at org.jboss.seam.Component.callComponentMethod(Component.java:1834)
  |     at org.jboss.seam.Component.callCreateMethod(Component.java:1757)
  |     at org.jboss.seam.Component.newInstance(Component.java:1746)
  |     at org.jboss.seam.contexts.Lifecycle.startup(Lifecycle.java:175)
  |     at 
org.jboss.seam.contexts.Lifecycle.endInitialization(Lifecycle.java:145)
  |     at org.jboss.seam.init.Initialization.init(Initialization.java:504)
  |     at org.jboss.seam.mock.SeamTest.init(SeamTest.java:701)
  | Caused by: java.lang.NullPointerException
  |     at org.jboss.seam.core.Dispatcher.schedule(Dispatcher.java:215)
  |     at 
org.jboss.seam.core.Dispatcher.scheduleInvocation(Dispatcher.java:205)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:112)
  |     at 
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:166)
  |     at 
org.jboss.seam.intercept.EJBInvocationContext.proceed(EJBInvocationContext.java:37)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:57)
  |     at 
org.jboss.seam.interceptors.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:27)
  |     at 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:69)
  |     at 
org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:103)
  |     at 
org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionBeanInterceptor.java:53)
  |     at 
org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:118)
  |     at 
org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3InterceptorsInterceptor.java:63)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invoke(TransactionScopedEntityManagerInterceptor.java:54)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at 
org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsInterceptor.java:47)
  |     at 
org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:101)
  |     at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:79)
  |     ... 89 more
  | ... Removed 42 stack frames

I'm using Seam 1.2.1 with JBoss 4.0.4.

Does anyone has an advice what could be wrong?
And does the dispatcher work in embedded server?

And another thought:
Scheduled jobs should maybe not be run embedded since testing of this class 
could be tested just as a pojo, and the job should not run when testing other 
classes. In that case, is there a way of disabling the scheduling in tests?

Thanks!!
Endre

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

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

Reply via email to