-
Bug
-
Resolution: Done
-
Major
-
1.1.15
-
None
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)
Looking at the stacktrace it appears that the timer is triggered even before the EJB container is probably completely started. 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.
I will provided a sample application to reproduce this issue in the near future.