JBPM 入门教程及框架搭建实例代码
JBPM,全称是Java Business Process Management(业务流程管理),它是覆盖了业务流程管理、工作流、服务协作等领域的一个开源的、灵活的、易扩展的可执行流程语言框架。jBPM是公开源代码项目,使用它要遵循 ASL(Apache License Version 2.0)和EULA(JBoss End User License Agreement)协议。
JBPM 部署安装请参照:http://blog.csdn.net/callsin/article/details/21102469
进入主题,尝试用一个例子来让大家体会一下
项目结构如下:
1、先建立数据库(用的是MySQL),执行代码zuidaima.config.InitDB
注:hibernate.cfg.xml数据库配置,修改成你的帐号和密码
生成的表如下:
2、接下来绘制一个工作流,这里基本上用到jbpm的一个工作流绘制的插件。
绘制了一个简单的流程:
大体过程如下:起始状态--》任务1--》任务2--》结束
生成qj下面的processdefinition.xml
<?xml version="1.0" encoding="UTF-8"?> <process-definition xmlns="" name="qj"> <start-state name="start-state1"> <transition to="apply"></transition> </start-state> <task-node name="apply"> <task name="apply"> <assignment actor-id="1"></assignment> </task> <transition to="approve"></transition> </task-node> <task-node name="approve"> <task name="approve"> <assignment actor-id="2"></assignment> </task> <transition to="end-state1"></transition> </task-node> <end-state name="end-state1"></end-state> </process-definition>
3、发布流程,执行代码,zuidaima.config.Deploy,则会出现如下:
4、创建一个流程实例,执行代码zuidaima.CreatePDInstance,会产生下面结果
解释一下代码:signal();方法是将状态进行转换,由于转至第二个状态,所以apply任务在结束完起始状态的时候会被同步创建创建。
5、由于apply任务是分配给actorId=1进行处理的,下面我们看看autorId=1的任务列表
执行代码zuidaima.TaskActor1,结果如下:
public class TaskActor1 { /** * @param args */ public static void main(String[] args) { TaskActor1 ta1 = new TaskActor1(); ta1.showList(); //ta1.startTask(new Long(1)); //ta1.endTask(new Long(1)); }
可以看到该用户权限下的任务列表
ID :1
ActorId :1
任务名称 :apply
开始时间 :2014-03-14 14:01:50.0
开始时间 :null
结束时间 :null
如图:
由最代码官方编辑于2014-3-18 23:04:31
猜你喜欢
- /
- /jbpm
- /jbpm/.classpath
- /jbpm/.mymetadata
- /jbpm/.project
- /jbpm/src
- /jbpm/src/hibernate.cfg.xml
- /jbpm/src/jbpm.cfg.xml
- /jbpm/src/jbpm.mail.templates.xml
- /jbpm/src/log4j.properties
- /jbpm/src/zuidaima
- /jbpm