1 Reply Latest reply on Jun 18, 2009 7:59 PM by Alejandro Guizar

    Timers don't get executed after server crash

    Jeppe Klausen Newbie

      We've experiencing some problems regarding timers that don't get executed using jBPM version 3.2.2 after a server crash.

      It seems like that not alle timers are re-initiated after rebooting the application server (ver. 4.2.2). This is getting a quite critical issue since we have a lot of non-executed jobs in the jbpm_job table with old due dates.

      Is there any way to restart those triggers or to prevent this from happening?

      Our jboss.xml looks like this:

      <jboss>
       <enterprise-beans>
      
       <session>
       <ejb-name>CommandServiceBean</ejb-name>
       <jndi-name>ejb/CommandServiceBean</jndi-name>
       <local-jndi-name>CommandServiceBean</local-jndi-name>
       </session>
      
       <session>
       <ejb-name>TimerServiceBean</ejb-name>
       <jndi-name>ejb/TimerServiceBean</jndi-name>
       <local-jndi-name>TimerServiceBean</local-jndi-name>
       </session>
      
       <message-driven>
       <ejb-name>CommandListenerBean</ejb-name>
       <destination-jndi-name>queue/JbpmCommandQueue</destination-jndi-name>
       </message-driven>
      
       <message-driven>
       <ejb-name>JobListenerBean</ejb-name>
       <destination-jndi-name>queue/JbpmJobQueue</destination-jndi-name>
       </message-driven>
      
       </enterprise-beans>
      </jboss>
      


        • 1. Re: Timers don't get executed after server crash
          Alejandro Guizar Master

          With the EJB-based scheduler service, timer persistence is the responsibility of the EJB container. jBPM will save Timer objects to the database, but it is up to the EJB timer service to execute them.

          Check your EJB timer configuration. In JBoss AS the persistence policy implementation in use handles if and how timers are persisted. By default timers are persisted to an in-memory database, saved when JBoss stops. It may not be able to save in the event of a system crash.

          For details on EJB timer configuration refer to the administration and development guide.