JBPM 入门教程及框架搭建实例代码
来源:互联网 发布:中国毫无言论自由知乎 编辑:程序博客网 时间:2024/06/10 14:34
原文:JBPM 入门教程及框架搭建实例代码
源代码下载地址:http://www.zuidaima.com/share/1735784938212352.htm
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
01
<?
xml
version
=
"1.0"
encoding
=
"UTF-8"
?>
02
03
<
process-definition
xmlns
=
""
name
=
"qj"
>
04
<
start-state
name
=
"start-state1"
>
05
<
transition
to
=
"apply"
></
transition
>
06
</
start-state
>
07
<
task-node
name
=
"apply"
>
08
<
task
name
=
"apply"
>
09
<
assignment
actor-id
=
"1"
></
assignment
>
10
</
task
>
11
<
transition
to
=
"approve"
></
transition
>
12
</
task-node
>
13
<
task-node
name
=
"approve"
>
14
<
task
name
=
"approve"
>
15
<
assignment
actor-id
=
"2"
></
assignment
>
16
</
task
>
17
<
transition
to
=
"end-state1"
></
transition
>
18
</
task-node
>
19
<
end-state
name
=
"end-state1"
></
end-state
>
20
</
process-definition
>
3、发布流程,执行代码,zuidaima.config.Deploy,则会出现如下:
4、创建一个流程实例,执行代码zuidaima.CreatePDInstance,会产生下面结果
解释一下代码:signal();方法是将状态进行转换,由于转至第二个状态,所以apply任务在结束完起始状态的时候会被同步创建创建。
5、由于apply任务是分配给actorId=1进行处理的,下面我们看看autorId=1的任务列表
执行代码zuidaima.TaskActor1,结果如下:
01
public
class
TaskActor1 {
02
03
/**
04
* @param args
05
*/
06
public
static
void
main(String[] args) {
07
TaskActor1 ta1 =
new
TaskActor1();
08
ta1.showList();
09
//ta1.startTask(new Long(1));
10
//ta1.endTask(new Long(1));
11
}
可以看到该用户权限下的任务列表
ID :1
ActorId :1
任务名称 :apply
开始时间 :2014-03-14 14:01:50.0
开始时间 :null
结束时间 :null
如图:
- JBPM 入门教程及框架搭建实例代码
- scrapy爬虫框架学习入门教程及实例
- Struts2框架搭建及实例
- ssh2框架搭建及代码
- ssh2框架搭建及代码
- springmvc+spring+hibernate+shiro+jbpm框架搭建
- EXTJS入门教程及其框架搭建
- EXTJS入门教程及其框架搭建
- EXTJS入门教程及其框架搭建
- 采用CakePHP框架为Android应用快速搭建Web Service服务器及API接口的PHP代码实例
- 工作流--JBPM简介及开发环境搭建
- hadoop入门教程及其实例代码
- 微信小程序入门教程及实例
- 微信小程序入门教程及实例
- jbpm实例
- spring框架搭建实例
- jbpm工作流入门教程
- iOS基础框架的搭建 / 及国际化操作 代码讲解
- JS中如何判断变量是否为空,有和PHP一样的isset()和empty()函数么?
- 网络操作学习 笔记
- Could not create the view: An unexpected exception was thrown.问题解决
- orm2 中文文档 3. 定义模型
- LeetCode Maximum Subarray
- JBPM 入门教程及框架搭建实例代码
- 逻辑地址、线性地址、物理地址和虚拟地址
- Spring boot quick start
- 燕十八视频--CSS
- 算法导论课后习题解析 第四章 下
- JMS入门实例
- libusb学习-1
- 算法导论课后习题解析 第四章 上
- sql语句的基础