jbpm4.4之开发环境搭建2
来源:互联网 发布:mysql未识别的服务 编辑:程序博客网 时间:2024/05/21 17:43
1、使用的相关开发工具软件。
1)Eclipse IDE for Java EE Developers(Eclipse 4.3)
2)jBPM4.4
3)MySQL5.0
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项目结构如下。
5)修改jbpm.hibernate.cfg.xml文件,配置数据库相关信息。
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"><hibernate-configuration> <session-factory> <!-- 数据库信息 --> <property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property> <property name="hibernate.connection.url">jdbc:mysql://127.0.0.1:3306/jbpm</property> <property name="hibernate.connection.username">root</property> <property name="hibernate.connection.password">123</property> <property name="hibernate.hbm2ddl.auto">create-drop</property> <property name="hibernate.format_sql">true</property> <!-- 其他配置 --> <property name="hibernate.hbm2ddl.auto">create-drop</property> <property name="hibernate.format_sql">true</property> <!-- 映射文件 --> <mapping resource="jbpm.repository.hbm.xml" /> <mapping resource="jbpm.execution.hbm.xml" /> <mapping resource="jbpm.history.hbm.xml" /> <mapping resource="jbpm.task.hbm.xml" /> <mapping resource="jbpm.identity.hbm.xml" /> </session-factory></hibernate-configuration>
6)在MySQL中建立一个数据库叫jbpm。
7)在src上点击右键New-->Source Folder,取名process。process在src是下一级的,在process下存放流程定义文件。
8)设计请假流程定义文件。在process下建立一个Package叫leave,然后leave上点击右键New-->jBPM Process Definition,取名Leave。
9)画流程图,用assignee分配相应的任务处理人员。
Leave.jpdl.xml文件如下
<?xml version="1.0" encoding="UTF-8"?><process name="Leave" xmlns="http://jbpm.org/4.4/jpdl"> <start name="start1" g="303,8,48,48"> <transition name="to 提出申请" to="提出申请" g="-67,-20"/> </start> <end name="end1" g="303,340,48,48"/> <task name="提出申请" g="281,88,92,52" assignee="[员工]小李"> <transition name="to 部门经理审批" to="部门经理审批" g="-91,-20"/> </task> <task name="部门经理审批" g="281,172,92,52" assignee="[部门经理]李总"> <transition name="to 总经理审批" to="总经理审批" g="-79,-20"/> </task> <task name="总经理审批" g="281,256,92,52" assignee="[总经理]张总"> <transition name="to end1" to="end1" g="-45,-20"/> </task></process>整个流程就是:[员工]小李提出申请--》[部门经理]李总审批--》[总经理]张总审批。
10)单元测试代码。
package cn.luxh.jbpm4;import java.util.List;import org.jbpm.api.Configuration;import org.jbpm.api.ProcessEngine;import org.jbpm.api.ProcessInstance;import org.jbpm.api.task.Task;import org.junit.Test;public class JBPM4Test { //建立jBPM4.4的数据库表 @Test public void testCreateSchema() { new org.hibernate.cfg.Configuration().configure("jbpm.hibernate.cfg.xml").buildSessionFactory(); } //流程引擎,通过流程引擎获取各种服务接口 private ProcessEngine processEngine = Configuration.getProcessEngine(); //部署流程定义 @Test public void testDeployProcessDefinition() { processEngine.getRepositoryService() .createDeployment() .addResourceFromClasspath("process/leave/Leave.jpdl.xml") .addResourceFromClasspath("process/leave/Leave.png").deploy(); } //启动流程实例 @Test public void testStartProcessInstance() { 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()); } //查找用户待办任务 @Test public void testFindTasksByUserId() { String userId = "[员工]小李"; //String userId = "[部门经理]李总"; //String userId = "[总经理]张总"; List<Task> tasks = processEngine.getTaskService().findPersonalTasks(userId); for(Task task : tasks) { System.out.println("当前处理人:"+task.getAssignee()+" 当前任务:"+task.getName()); } } //处理待办 @Test public void testCompleteTask() { String userId = "[员工]小李"; //String userId = "[部门经理]李总"; //String userId = "[总经理]张总"; List<Task> tasks = processEngine.getTaskService().findPersonalTasks(userId); for(Task task : tasks) { processEngine.getTaskService().completeTask(task.getId()); } } }注意:但愿测试用junit4.10之前的版本,junit4.1.1会关联其它的jar,如果用的话需要把相应的jar也下载下来。
使用是导入包的方案:junit4.1.1.jar + hamcrest-core.jar + hamcrest-library.jar
或者是:junit-dep.ajr+hancrest-all.jar
下载地址:https://code.google.com/p/hamcrest/downloads/detail?name=hamcrest-all-1.3.jar
不这样做的话但愿测试会报异常。
最简单的就是直接用4.1.0之前的版本
- jbpm4.4之开发环境搭建2
- jBPM4.4之开发环境搭建
- jbpm4.4之开发环境搭建1
- jbpm4.4开发环境搭建
- 搭建JBPM4.4+tomcat+eclipse开发环境
- 搭建JBPM4.4+tomcat+eclipse开发环境
- JBPM4.4环境搭建
- JBPM4.4环境搭建
- JBPM4.4环境搭建
- jbpm4.4环境搭建
- jbpm4之开发环境配置
- Myeclipse8.5搭建jbpm4.4的开发环境
- JBPM学习(1):搭建JBPM4.4开发环境
- Myeclipse8.5搭建jbpm4.4的开发环境
- Myeclipse9 JBPM4.4环境搭建
- JBPM4.4环境搭建流程
- JBPM4入门——3.JBPM4开发环境的搭建
- 浅尝JBPM4.3之环境搭建
- AlertDialog实例
- C++多线程
- c# Invoke和BeginInvoke 区别
- 有道身份证查询接口API
- gem 命令
- jbpm4.4之开发环境搭建2
- jsp获取地址url以及url的参数
- 别克新君威新技术:车载数据通信
- libfaac simple-example
- android模拟back键
- web tank(1.1)
- Java初始化顺序
- 避免NullPointerException之Java高效代码
- 带着梦想远航