Red Hat Training

A Red Hat training course is available for JBoss Enterprise SOA Platform

Chapter 9. Scheduler

Read this chapter to learn about the role of timers in the Business Process Manager.
Timers can be created upon events in the process. Set them to trigger either action executions or event transitions.

9.1.  Timers

The easiest way to set a timer is by adding a timer element to the node. This sample code shows how to do so:
<state name='catch crooks'>
  <timer name='reminder' 
         duedate='3 business hours' 
         repeat='10 business minutes'
         transition='time-out-transition' >
    <action class='the-remainder-action-class-name' />
  </timer>
  <transition name='time-out-transition' to='...' />
</state>
A timer specified on a node is not executed after that node is exited. Both the transition and the action are optional. When a timer is executed, the following events occur in sequence:
  1. an event of type timer is fired
  2. if an action is specified, it executes
  3. a signal is to resume execution over any specified transition
Every timer must have a unique name. If no name is specified in the timer element, the name of the node is used by default.
Use the timer action to support any action element (such as action or script.)
Timers are created and canceled by actions. The two pertinent action-elements are create-timer and cancel-timer. In actual fact, the timer element shown above is just short-hand notation for a create-timer action on node-enter and a cancel-timer action on node-leave.

9.2.  Scheduler Deployment

Process executions create and cancel timers, storing them in a timer store. A separate timer runner checks this store and execute each timers at the due moment.
Scheduler Components Overview

Figure 9.1. Scheduler Components Overview