JBPM4基础篇03-管理流程实例


本篇主要对流程进行启动,终止和删除操作。
  1. package org.wxp;  
  2.   
  3. import java.util.List;  
  4.   
  5. import junit.framework.TestCase;  
  6.   
  7. import org.jbpm.api.Configuration;  
  8. import org.jbpm.api.ExecutionService;  
  9. import org.jbpm.api.ProcessEngine;  
  10. import org.jbpm.api.ProcessInstance;  
  11.   
  12. /** 
  13.  * 管理流程实例 
  14.  * 1.创建流程 
  15.  * 2.判断流程是否终结 
  16.  * 3.手动停止一个流程 
  17.  * 4.删除流程 
  18.  * @author Champion.Wong 
  19.  * 
  20.  */  
  21. public class ProcessInstanceTest extends TestCase {  
  22.   
  23.     ProcessEngine processEngine; // 创建流程引擎  
  24.   
  25.     public ProcessInstanceTest() {  
  26.         processEngine = Configuration.getProcessEngine(); // 实例化流程引擎  
  27.     }  
  28.   
  29.     protected void setUp() {  
  30.         processEngine.getRepositoryService().createDeployment()  
  31.                 .addResourceFromClasspath("helloworld.jpdl.xml").deploy(); // 启动流程引擎  
  32.     }  
  33.   
  34.     public void testProcessInstance() {  
  35.         ExecutionService executionService = processEngine.getExecutionService(); // 获取一个流程执行  
  36.         ProcessInstance pi = executionService  
  37.                 .startProcessInstanceByKey("helloworld"); // 启动一个流程定义  
  38.   
  39.         System.out.println("刚启动的流程为:" + pi);  
  40.         System.out.println("流程是否终结:" + pi.isEnded()); // 流程为等待状态,所以没有终结  
  41.   
  42.         pi = executionService.signalExecutionById(pi.getId()); // 手动执行流程  
  43.   
  44.         System.out.println("流程是否终结:" + pi.isEnded());  
  45.     }  
  46.   
  47.     public void testProcessInstanceEnd() {  
  48.         ExecutionService executionService = processEngine.getExecutionService(); // 获取一个流程执行  
  49.         ProcessInstance pi = executionService  
  50.                 .startProcessInstanceByKey("helloworld"); // 启动一个流程定义  
  51.         executionService.endProcessInstance(pi.getId(), "cancel"); // 强制终止一个流程  
  52.     }  
  53.   
  54.     public void testProcessInstanceDelete() {  
  55.         ExecutionService executionService = processEngine.getExecutionService(); // 获取一个流程执行  
  56.         ProcessInstance pi = executionService  
  57.                 .startProcessInstanceByKey("helloworld"); // 启动一个流程定义  
  58.         executionService.deleteProcessInstanceCascade(pi.getId()); // 删除一个流程  
  59.     }  
  60.   
  61.     public void testProcessInstanceList() {  
  62.         ExecutionService executionService = processEngine.getExecutionService(); // 获取一个流程执行  
  63.         ProcessInstance pi = executionService  
  64.                 .startProcessInstanceByKey("helloworld"); // 启动一个流程定义  
  65.         ProcessInstance pi2 = executionService  
  66.                 .startProcessInstanceByKey("helloworld"); // 启动一个流程定义  
  67.         List<ProcessInstance> list = executionService  
  68.                 .createProcessInstanceQuery().list(); // 获取引擎中所有流程定义的信息  
  69.         for (ProcessInstance processInstance : list) {  
  70.             System.out.println(processInstance.getId());  
  71.         }  
  72.     }  
  73.   
  74. }  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值