[jboss-user] [JBoss Seam] - Schedule an asynchronous method call at startup

petemuir do-not-reply at jboss.com
Sat Jan 20 11:57:59 EST 2007


I need to schedule a (repeating, async) method call always and without user intervention.  I tried:

@Startup
  | @Name("setupController")
  | @Scope(ScopeType.APPLICATION)
  | public class SetupController {
  | 	
  | 	@Create
  | 	public void create() throws Exception {
  | 		SetupManager setupManager = (SetupManager) Component.getInstance("setupManager");
  | 		setupManager.setup(0, Frequency.DAILY.getInterval());
  | 	}
  | }

which gives

16:54:08,312 INFO  [Lifecycle] starting up: setupController
  | 16:54:08,469 ERROR [[/sms]] Exception sending context initialized event to listener instance of class org.jboss.seam.ser
  | vlet.SeamListener
  | javax.ejb.EJBException: java.lang.IllegalStateException: No active conversation context
  | 	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:77)
  | 	at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3AuthenticationInterceptor.java:131)
  | 	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:211)
  | 	at org.jboss.ejb3.stateless.StatelessLocalProxy.invoke(StatelessLocalProxy.java:79)
  | 	at $Proxy658.scheduleInvocation(Lorg.jboss.seam.intercept.InvocationContext;Lorg.jboss.seam.Component;)Ljavax.ejb.Timer
  | ;(Unknown Source)
  | 	at org.jboss.seam.core.LocalDispatcher$$FastClassByCGLIB$$dd969e92.invoke(ILjava.lang.Object;[Ljava.lang.Object;)Ljava.
  | lang.Object;(<generated>:???)
  | 	at net.sf.cglib.proxy.MethodProxy.invoke(MethodProxy.java:149)
  | 	at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocationContext.java:45)
  | 	at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideInterceptor.java:74)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:55)
  | 	at org.jboss.seam.interceptors.ExceptionInterceptor.handleExceptions(ExceptionInterceptor.java:39)
  | 	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown S
  | ource)
  | 	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
  | 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
  | 	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
  | Caused by: java.lang.IllegalStateException: No active conversation context
  | 	at org.jboss.seam.core.BusinessProcess.instance(BusinessProcess.java:35)
  | 	at org.jboss.seam.core.Dispatcher$Asynchronous.<init>(Dispatcher.java:62)
  | 	at org.jboss.seam.core.Dispatcher$AsynchronousInvocation.<init>(Dispatcher.java:112)
  | 	at org.jboss.seam.core.Dispatcher.scheduleInvocation(Dispatcher.java:199)
  | 	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown S
  | ource)
  | 	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
  | 	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:55)
  | 	at org.jboss.seam.interceptors.OutcomeInterceptor.interceptOutcome(OutcomeInterceptor.java:21)
  | 	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown S
  | ource)
  | 	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
  | 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
  | 	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
  | 	at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:5
  | 2)
  | 	at jrockit.reflect.VirtualNativeMethodInvoker.invoke(Ljava.lang.Object;[Ljava.lang.Object;)Ljava.lang.Object;(Unknown S
  | ource)
  | 	at java.lang.reflect.Method.invoke(Ljava.lang.Object;[Ljava.lang.Object;I)Ljava.lang.Object;(Unknown Source)
  | 	at org.jboss.seam.util.Reflections.invoke(Reflections.java:18)
  | 	at org.jboss.seam.intercept.Interceptor.aroundInvoke(Interceptor.java:169)
  | 	at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:64)
  | 	at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:
  | 51)

Am I doing something wrong, is there another way of doing what I want, or  is this not possible?

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

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4004318



More information about the jboss-user mailing list