工作流JBPM_day01:6-执行流程实例

时间:2023-03-09 06:09:36
工作流JBPM_day01:6-执行流程实例

工作流JBPM_day01:6-执行流程实例

执行流程

  启动流程实例

  查询任务列表

  办理任务

  向后执行一步

先部署流程定义在启动流程实例

工作流JBPM_day01:6-执行流程实例

Jbpm4_execution表表示正在执行的流程实例的的信息

工作流JBPM_day01:6-执行流程实例

查询个人任务列表

工作流JBPM_day01:6-执行流程实例

工作流JBPM_day01:6-执行流程实例

ProcessInstanceTest .java

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 ProcessInstanceTest {
private ProcessEngine processEngine = Configuration.getProcessEngine(); //部署流程定义
@Test
public void deplyProcessDefinition() {
processEngine.getRepositoryService()//
.createDeployment()//
.addResourceFromClasspath("cn/itcast/b_processinstance/test.jpdl.xml")//
.addResourceFromClasspath("cn/itcast/b_processinstance/test.png")//
.deploy(); }
// 启动流程实例
// jbpm4_execution
@Test
public void testStartProcessInstance() {
ProcessInstance pi = processEngine.getExecutionService().startProcessInstanceByKey("helloworld");
System.out.println("流程实例启动成功:id=" + pi.getId()//
+ ", state=" + pi.getState()// 状态
+ ", processDefinitionId=" + pi.getProcessDefinitionId());// 所使用的流程定义的Id
} // 查询个人任务列表
@Test
public void testFindMyPersonalTaskList() {
String userId = "张三";
//查询
// List<Task> list = processEngine.getTaskService().findPersonalTasks(userId);
//分页
List<Task> list = processEngine.getTaskService()//
.createTaskQuery()//
.assignee(userId)//
.page(0, 100)//
.list();
//显示
System.out.println("======= 【" + userId + "】的个人任务列表 ========");
for(Task task : list) {
System.out.println("id=" + task.getId()
+ ", name=" + task.getName()
+ ", assignee=" + task.getCreateTime()
+ ", createTime=" + task.getCreateTime()
+ ", executionId=" + task.getExecutionId());
}
} // 办理任务
@Test
public void testCompleteTask() {
String taskId = "140002";
processEngine.getTaskService().completeTask(taskId);
} // 向后执行一步
@Test
public void testNext() {
String executionId = "helloworld.140001";
processEngine.getExecutionService().signalExecutionById(executionId);
}

Execution与ProcessInstance说明

工作流JBPM_day01:6-执行流程实例