[jboss-user] [EJB 3.0 Users] - EJBTimer Restart Issue : Dropped/Failed Timer Execution

kyle.bober do-not-reply at jboss.com
Thu Sep 17 09:47:53 EDT 2009

Running JBoss 5.1.0.GA

Here is the situation: I launch a series of EJBTimers that are scheduled to run in the future. I shut down JBoss and restart the server. Upon Jboss restart I notice a good portion of the EJBTimer(s) which were scheduled to execute fail on JBoss restart. This is what I see in the log:

  | 10:02:35,250 ERROR [TimerImpl] Error invoking ejbTimeout
  | org.jboss.aop.DispatcherConnectException: EJB container is not completely started, or is stopped.
  | 	at org.jboss.ejb3.BlockContainerShutdownInterceptor.invoke(BlockContainerShutdownInterceptor.java:6
  | 2)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  | 	at org.jboss.aspects.currentinvocation.CurrentInvocationInterceptor.invoke(CurrentInvocationInterce
  | ptor.java:67)
  | 	at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
  | 	at org.jboss.ejb3.stateless.StatelessContainer.callTimeout(StatelessContainer.java:249)
  | 	at org.jboss.as.ejb3.timerservice.TimedObjectInvokerBridge.callTimeout(TimedObjectInvokerBridge.jav
  | a:44)
  | 	at org.jboss.ejb.txtimer.TimerImpl$TimerTaskImpl.run(TimerImpl.java:561)
  | 	at java.util.TimerThread.mainLoop(Timer.java:512)
  | 	at java.util.TimerThread.run(Timer.java:462)	

It almost looks as if my EJBTimer bean hasn't fully loaded or something else related to the EJB Container at hand. The unfortunate thing about this is that a good portion of the EJBTimer(s) that were schedule to execute are never executed and are removed from the Timers Table. Yet some of the EJBTimer(s) are successfully kicked of and executed properly. Any ideas as to why or what could be causing this issue and how to rectify it???

Here is the EJBTimer code snippet:

  | @Stateless
  | @Remote
  | @RemoteBinding(jndiBinding=IProcessTimerService.PROCESS_TIMER_EJB_JNDI)
  | @TransactionManagement(TransactionManagementType.BEAN)
  | public class ProcessTimerService implements IProcessTimerService { ... }	

Thanks again for your help!

FYI: Here are a couple other posts related to what seems to be a similar issue http://www.jboss.org/index.html?module=bb&op=viewtopic&p=4212804#4212804

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

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

More information about the jboss-user mailing list