]
Dimitris Andreadis closed JBAS-1394.
------------------------------------
Resolution: Done
TimerService.getTimers() does not seem to work when called at
ServletContextListener.contextInitialised time
------------------------------------------------------------------------------------------------------------
Key: JBAS-1394
URL:
http://jira.jboss.com/jira/browse/JBAS-1394
Project: JBoss Application Server
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: Scheduling/Timers
Affects Versions: JBossAS-4.0.1 Final
Environment: Suse Linux 9.1, JBoss 4.0.1
Reporter: Steve Bostock
Assigned To: Dimitris Andreadis
Fix For: JBossAS-4.0.4RC1
I have a stateless session bean that implements TimedObject. It has a schedule() method
that gets called from the contextInitialized method of a WebApp. The schedule method first
calls getTimers() and cancels any timers it finds, it then creates new ones. This call to
getTimers never finds any existing timers, even though they exist in the TIMERS table in
the DB. The net effect is, that after a reboot, I end up with duplicate timers.
If I call the same schedule() method from a client program at a later time, it correctly
finds and cancels all extant timers before creating new ones.
From looking at the debug log, it appears that the restore
DEBUG [org.jboss.ejb.txtimer.DatabasePersistencePolicy] Restoring 2 timer(s)
is happening sometime after contextInitialized gets called.
This problem is repeatable.
Steve
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: