工作流JBPM_day01:3-使用JBPM的API添加与执行流程

2023-06-14,,

工作流JBPM_day01:3-使用JBPM的API添加与执行流程

流程定义画完得到压缩文件---》部署流程定义--》启动流程实例--》查询我的个人任务列表--》办理任务--》部门经理(总经理)查询、办理--》完成

导包、配置文件

从其他项目拷log4j.properties文件

配置信息

创建数据库

运行测试类会自动创建表

运行部署流程定义测试类。表中会生成一些数据

存到服务器数据库中

员工办理任务

办理好,查看部门经理个人任务列表

部门经理办理任务

查看总经理个人任务列表

总经理办理任务

完成流程

HelloWorld_API.java

import java.util.List;

import org.jbpm.api.Configuration;
import org.jbpm.api.ProcessEngine;
import org.jbpm.api.task.Task;
import org.junit.Test; public class HelloWorld_API {
//建表
@Test
public void createSchema() { //hbm2ddl.auto-update自动建表
new org.hibernate.cfg.Configuration()//
.configure("jbpm.hibernate.cfg.xml")//
.buildSessionFactory();
} private static ProcessEngine processEngine = new Configuration()//
.setResource("jbpm.cfg.xml")//
.buildProcessEngine(); // 1, 部署流程定义
@Test
public void deployProcessDefintion() { processEngine.getRepositoryService()
.createDeployment()
.addResourceFromClasspath("helloworld/helloworld.jpdl.xml")//
.addResourceFromClasspath("helloworld/helloworld.png")//
.deploy();
}
@Test
// 2, 启动流程实例
public void startProvessIndtance() {
processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
}
@Test
// 3, 查询我的个人任务列表
public void findMyPersonTaskList() {
// String userId = "员工";
// String userId = "部门经理";
String userId = "总经理";
//查询
List<Task> taskList = processEngine.getTaskService().findPersonalTasks(userId); //显示
System.out.println("===============【" + userId + "】的个人任务列表=============");
for(Task task : taskList) {
System.out.println("id=" + task.getId()//
+ ", name=" + task.getName()//任务名称
+ ", assignee=" + task.getAssignee());//办理人
}
}
@Test
// 4, 办理任务
public void completeTask() {
String taskId = "30001";
processEngine.getTaskService().completeTask(taskId);
}
}

工作流JBPM_day01:3-使用JBPM的API添加与执行流程的相关教程结束。

《工作流JBPM_day01:3-使用JBPM的API添加与执行流程.doc》

下载本文的Word格式文档,以方便收藏与打印。