jbpm4.4 mysql_jBPM4.4之开发环境搭建

本文详细介绍如何使用jBPM4进行工作流开发,包括开发环境搭建、流程定义设计及单元测试实现等关键步骤。

虽然基于jBPM4延续的Activiti5已经推出很长时间了,但是jBPM4在项目中还是有很广泛的使用。

1、使用的相关开发工具软件。

1)Eclipse IDE for Java EE Developers(Eclipse 4.2)

2)jBPM4.4

3)MySQL5.5

2、配置在Eclipse中设计流程的gpd插件。

1)gpd插件所在目录:jbpm-4.4\install\src\gpd\jbpm-gpd-site.zip

2)安装插件:Eclipse菜单 Help-->Install New Softwore...打开Install窗口;在Install窗口点击 Add...打开Add Repository窗口;在Add Repository窗口点击Archive...在插件所在目录选择jbpm-gpd-site.zip。

3)安装完成会提示是否重启Eclipse,选择重启。

3、配置jBPM的Runtime Locations。

1)Eclipse菜单 Window-->Preferences-->JBoss jBPM-->Runtime Locations

2)在Runtime Locations窗口点击Add...打开Add Location窗口,Name:起个名字,如jBPM4.4;Location:选择jBPM4.4的解压安装目录。

4、使用单元测试实现First jBPM4。

1)新建一个Java Project,取名FirstJBPM4。

2)把jbpm-4.4\jbpm.jar和jbpm-4.4\lib下的所有jar文件添加到项目的classpath路径下。(或者把jBPM4.4的所有jar配置成一个User Library,然后在项目中直接引用)

3)把jbpm-4.4\examples\src目录下的jbpm.cfg.xml、jbpm.hibernate.cfg.xml和logging.properties加入到项目的src目录下。

4)FirstJBPM4项目结构如下。

12c722cbf71b0479f8b1c8c8a5d936a1.png

5)修改jbpm.hibernate.cfg.xml文件,配置数据库相关信息。

/p>

"-//Hibernate/Hibernate Configuration DTD 3.0//EN"

"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">

org.hibernate.dialect.MySQL5InnoDBDialect

com.mysql.jdbc.Driver

jdbc:mysql://localhost:3306/jbpm4

root

root

false

update

6)在MySQL中建立一个数据库叫jbpm4。

create database jbpm4 default character set utf8;

7)在项目名称上点击右键New-->Source Folder,取名process。process和src是同级的,在process下存放流程定义文件。

8)设计请假流程定义文件。在process下建立一个Package叫leave,然后leave上点击右键New-->jBPM Process Definition,取名Leave。

434e6c4a9ce59b5fc027599dde6fcba0.png

9)画流程图,用assignee分配相应的任务处理人员。

d8433a2ba1a4ed1c50e704b0826d7ae4.png

Leave.jpdl.xml文件如下

整个流程就是:[员工]小李提出申请--》[部门经理]李总审批--》[总经理]张总审批。

10)单元测试代码。

packagecn.luxh.jbpm4;importjava.util.List;importorg.jbpm.api.Configuration;importorg.jbpm.api.ProcessEngine;importorg.jbpm.api.ProcessInstance;importorg.jbpm.api.task.Task;importorg.junit.Test;public classJBPM4Test {//建立jBPM4.4的数据库表

@Testpublic voidtestCreateSchema() {new org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory();

}//流程引擎,通过流程引擎获取各种服务接口

private ProcessEngine processEngine =Configuration.getProcessEngine();//部署流程定义

@Testpublic voidtestDeployProcessDefinition() {

processEngine.getRepositoryService()

.createDeployment()

.addResourceFromClasspath("leave/Leave.jpdl.xml")

.addResourceFromClasspath("leave/Leave.png").deploy();

}//启动流程实例

@Testpublic voidtestStartProcessInstance() {

ProcessInstance processInstance= processEngine.getExecutionService().startProcessInstanceByKey("Leave");

System.out.println("processInstance id is:"+processInstance.getId());

System.out.println("processInstance key is:"+processInstance.getKey());

System.out.println("processInstance name is:"+processInstance.getName());

}//查找用户待办任务

@Testpublic voidtestFindTasksByUserId() {

String userId= "[员工]小李";//String userId = "[部门经理]李总";//String userId = "[总经理]张总";

List tasks =processEngine.getTaskService().findPersonalTasks(userId);for(Task task : tasks) {

System.out.println("当前处理人:"+task.getAssignee()+" 当前任务:"+task.getName());

}

}//处理待办

@Testpublic voidtestCompleteTask() {

String userId= "[员工]小李";//String userId = "[部门经理]李总";//String userId = "[总经理]张总";

List tasks =processEngine.getTaskService().findPersonalTasks(userId);for(Task task : tasks) {

processEngine.getTaskService().completeTask(task.getId());

}

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值