AXIN的gravatar头像
AXIN 2014-03-14 14:34:39

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

进入主题,尝试用一个例子来让大家体会一下

项目结构如下:

JBPM 入门教程及框架搭建实例代码

1、先建立数据库(用的是MySQL),执行代码zuidaima.config.InitDB

  注:hibernate.cfg.xml数据库配置,修改成你的帐号和密码

生成的表如下:

JBPM 入门教程及框架搭建实例代码

2、接下来绘制一个工作流,这里基本上用到jbpm的一个工作流绘制的插件。
绘制了一个简单的流程:
大体过程如下:起始状态--》任务1--》任务2--》结束 

JBPM 入门教程及框架搭建实例代码

生成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,则会出现如下:

JBPM 入门教程及框架搭建实例代码

JBPM 入门教程及框架搭建实例代码

4、创建一个流程实例,执行代码zuidaima.CreatePDInstance,会产生下面结果

JBPM 入门教程及框架搭建实例代码JBPM 入门教程及框架搭建实例代码

解释一下代码: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

如图:

JBPM 入门教程及框架搭建实例代码


最代码官方编辑于2014-3-18 23:04:31


打赏

文件名:jbpm_zuidaima.rar,文件大小:7064.533K 下载
最代码最近下载分享源代码列表最近下载
胜过这首歌  LV2 2023年6月27日
17852250910  LV2 2021年12月27日
qaz188250  LV1 2020年7月8日
xuyongff  LV24 2020年3月3日
cp19791101  LV12 2019年5月25日
hanl  LV12 2019年2月22日
Koalaer  LV1 2018年10月25日
a13875527325  LV4 2018年9月18日
gates-gt  LV7 2018年7月25日
wanglun_wl  LV10 2018年7月19日
最代码最近浏览分享源代码列表最近浏览
1049066887  LV13 3月3日
woldxy  LV12 2023年8月22日
胜过这首歌  LV2 2023年6月27日
QIUSISI  LV1 2023年4月17日
applehs 2022年7月31日
暂无贡献等级
liuzejuncn  LV6 2022年3月27日
17852250910  LV2 2021年12月27日
chenchen479  LV6 2021年11月24日
章余歌 2021年11月14日
暂无贡献等级
hollwomanc  LV1 2021年4月9日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友