Uploaded image for project: 'Application Server 3  4  5 and 6'
  1. Application Server 3 4 5 and 6
  2. JBAS-8764

Expired interval timers re-expire on restart

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Unresolved
    • Icon: Major Major
    • No Release
    • JBossAS-5.1.0.GA
    • System service
    • None
    • Hide

      To see the issue
      i) create an interval timer to expire in 5 secs then repeat every 2 hours.
      ii) let it expire
      iii) restart JBoss
      iv) observer timer expires again.

      This can be achieved using the timer project in the ejbTutorial1_1_0 from http://www.jboss.org/ejb3/docs.html
      Just replace ExampleTimerBean.java with the attached version.

      Show
      To see the issue i) create an interval timer to expire in 5 secs then repeat every 2 hours. ii) let it expire iii) restart JBoss iv) observer timer expires again. This can be achieved using the timer project in the ejbTutorial1_1_0 from http://www.jboss.org/ejb3/docs.html Just replace ExampleTimerBean.java with the attached version.

      If you restart JBoss after an interval timer has expired it re-expires. This means the timer is, in effect, called every timer the server is restarted.

      The spec [section 18.4.2] states what should happen between a server crash and a restart - "Any interval timers that have expired during the intervening time must cause the timeout callback method to be invoked at least once upon restart."

        1. EJBTimerServiceImpl.java
          20 kB
        2. EJBTimerServiceImpl.java
          20 kB
        3. ExampleTimerBean.java
          2 kB
        4. JBPAPP-4681.patch
          54 kB
        5. timerlogger.pdf
          15 kB

              rhn-support-bmaxwell Brad Maxwell
              rhn-support-sappleton Shaun Appleton
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated: