Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-4681

Expired interval timers re-expire on restart

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Done
    • Icon: Blocker Blocker
    • EAP_EWP 5.1.0_CR3
    • EAP 5.0.1
    • System
    • 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. ExampleTimerBean.java
          2 kB
        2. EJBTimerServiceImpl.java
          20 kB
        3. timerlogger.pdf
          15 kB
        4. EJBTimerServiceImpl.java
          20 kB
        5. JBPAPP-4681.patch
          54 kB

              jaikiran Jaikiran Pai (Inactive)
              rhn-support-sappleton Shaun Appleton
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: