jBPM用户指南 第十二章 调度程序 (转载)
来源:互联网 发布:nginx 反向代理优化 编辑:程序博客网 时间:2024/04/29 00:21
第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接口被指定用来使定时器执行机制是可插入的。
图12.2调度程序类Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1206543
[收藏到我的网摘] [发送Trackback] 箫杉发表于 2006年09月11日 09:17:00
上一篇: JBPM用户指南翻译:第13章 异步继续 | 下一篇: Jbpm用户指南翻译:第11章 任务管理
- jBPM用户指南 第十二章 调度程序 (转载)
- jbpm用户指南翻译:第12章 调度程序
- jBPM用户指南 第1章 介绍 (转载)
- jBPM用户指南 第3章 指南 (转载)
- jBPM用户指南 第七章 持久化 (转载)
- jBPM用户指南 第九章 流程建模(转载)
- jBPM用户指南 第十章 上下文 (转载)
- jBPM用户指南 第十一章 任务管理 (转载)
- jBPM用户指南 第十三章 异步继续 (转载)
- jBPM用户指南 第十四章 业务日历 (转载)
- jBPM用户指南 第十五章 记录日志 (转载)
- jBPM用户指南 第十八章 工作流TDD (转载)
- jBPM用户指南 第16章 jBPM流程定义语言 (转载)
- jBPM用户指南 第四章 面向图表编程 (转载)
- jBPM用户指南 第8章 Quartz Job Scheduling Framework (转载)
- jBPM用户指南 第十七章 Security
- JBPM用户指南
- Jbpm用户指南翻译:第10章 上下文
- jBPM用户指南 第十章 上下文 (转载)
- asp.net读取EXCEL的方法(3)
- jBPM用户指南 第十一章 任务管理 (转载)
- 指针函数和函数指针
- 第一回. 真的了解.NET Compact Framework吗?
- jBPM用户指南 第十二章 调度程序 (转载)
- jBPM用户指南 第十三章 异步继续 (转载)
- 用户登陆代码(转)
- jBPM用户指南 第十四章 业务日历 (转载)
- jBPM用户指南 第十五章 记录日志 (转载)
- jBPM用户指南 第16章 jBPM流程定义语言 (转载)
- jBPM用户指南 第十八章 工作流TDD (转载)
- XML on Windows Mobile (C#)
- [Java][j2ee]log4j初试
评论
http://blog.csdn.net/jeffen2006/
如下的jbpm的例子中的流程定义:
<?xml version="1.0" encoding="UTF-8"?>
<process-definition>
<start-state>
<transition to="a"/>
</start-state>
<state name="a">
<timer name="reminder" duedate="0 business seconds" repeat="5 business seconds">
<action class="org.jbpm.scheduler.exe.TimerDbTest$NoOp"/>
</timer>
<transition to="b"/>
<transition name="back" to="a"/>
</state>
<state name="b"/>
</process-definition>
在上面的定义文件中,分别定义了timer(定时器)的duedate(到期时间)和repeat(重复时间)的值为:0秒和5秒
根据上面的内容,应该是当进入state 'a'这个节点后,定时器开始启动.然后等到我们设定的duedate时,开始执行action类的execute方法.然后,每5秒重复一