管理流程实例
package com.family168;
import junit.framework.TestCase;
import org.jbpm.api.*;
import java.util.*;
public class ProcessInstanceTest extends TestCase {
ProcessEngine processEngine;
public ProcessInstanceTest() {
processEngine = Configuration.getProcessEngine();
}
public void setUp() {
processEngine.getRepositoryService().createDeployment()
.addResourceFromClasspath("helloworld.jpdl.xml").deploy();
}
public void testProcessInstance() {
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance pi = executionService
.startProcessInstanceByKey("helloworld");//发起新的流程。
System.out.println(pi);
System.out.println(pi.isEnded());
pi = executionService.signalExecutionById(pi.getId());//执行等待的流程。
System.out.println(pi.isEnded());
}
public void testProcessInstanceEnd() {//终止流程实例。
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance pi = executionService
.startProcessInstanceByKey("helloworld");
executionService.signalExecutionById(pi.getId(), "cancel");
}
public void testProcessInstanceDelete() {//删除流程实例。
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance pi = executionService
.startProcessInstanceByKey("helloworld");
executionService.deleteProcessInstanceCascade(pi.getId());
}
public void testProcessInstanceList() {//查看流程实例。
ExecutionService executionService = processEngine.getExecutionService();
ProcessInstance pi = executionService
.startProcessInstanceByKey("helloworld");
List<ProcessInstance> list = executionService
.createProcessInstanceQuery().list();
for (ProcessInstance processInstance : list) {
System.out.println(processInstance.getId());
}
}
}