jbpm用户指南翻译介绍
jbpm用户指南翻译介绍
第12章 调度程序
本章描述在jBPM中怎样使用定时器。
在流程的事件之上,定时器可以被创建,当定时器到预定的期限时,动作被执行或者转换发生。
12.1 定时器
指定一个定时器最简单的方式是添加一个timer元素到节点。
<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>
</state>
定时器在节点上被指定,在节点被离开后不会被执行,转换和动作是可选的,当定时器被执行,下面事件将顺序发生:
l 一个timer类型的事件被激活。
l 如果指定了一个动作,则动作被执行。
l 如果指定了一个转换,一个信号将被发送,通过给定转换继续执行。
每个定时器必须有一个唯一的名称,如果在timer元素中没有指定名称,则节点的名称将被作为定时器的名称。
定时器动作可以是所支持的任何动作元素,如action或script。
定时器通过动作创建和取消,有两个动作元素create-timer和cancel-timer。事实上,上面所示的定时器元素只是create-timer动作依附于node-enter事件、cancel-timer动作依附于node-leave事件的一个简略表示。
12.2 调度程序部署
流程执行创建和取消定时器,定时器有专门的存储,一个独立的定时器运行器必须检查定时器存储并且在适当的时候执行定时器。
图 12.1调度程序组件
下面的类图展示了调度程序部署时相关的类,SchedulerService接口和TimerExecutor接口被指定用来使定时器执行机制是可插入的。