java流程管理 之 jbpm流程实例 发布、查看、终止、删除

[java]  view plain  copy
  1. package com.jiaocaigen002.processinstance;  
  2.   
  3. import java.util.List;  
  4.   
  5. import org.jbpm.api.*;  
  6.   
  7. import junit.framework.TestCase;  
  8.   
  9. /** 
  10.  * 流程实例 
  11.  * @author leiwei 2012-3-20 
  12.  * 
  13.  */  
  14. public class ProcessInstanceTest extends TestCase {  
  15.   
  16.     //流程引擎  
  17.     ProcessEngine processEngine;  
  18.   
  19.     public ProcessInstanceTest() {  
  20.         processEngine = Configuration.getProcessEngine();  
  21.     }  
  22.   
  23.     /** 
  24.      *  发布流程定义 
  25.      */  
  26.     protected void setUp() {  
  27.         //流程资源服务的接口,如流程定义发布、查询、删除等  
  28.         processEngine.getRepositoryService().createDeployment()  
  29.                         .addResourceFromClasspath("helloworld.jpdl.xml").deploy();  
  30.     }  
  31.       
  32.     /** 
  33.      * 发布新流程 
  34.      */  
  35.     public void newProcessInstance() {  
  36.         //用于操作人工任务的服务,可以进行任务创建、查询、获取、提交完成、保存、删除等操作  
  37.         ExecutionService executionService = processEngine.getExecutionService();  
  38.         ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");  
  39.           
  40.         //查看流程是否已经结束  
  41.         System.out.println("流程是否已经结束:"+processInstance.isEnded());  
  42.           
  43.         //直接跳过等待,直接结束  
  44.         processInstance = executionService.signalExecutionById(processInstance.getId());  
  45.         System.out.println("流程是否已经结束:"+processInstance.isEnded());  
  46.     }  
  47.       
  48.     /** 
  49.      * 终止流程 
  50.      */  
  51.     public void endProcessInstance() {  
  52.         ExecutionService executionService = processEngine.getExecutionService();  
  53.         ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");  
  54.         executionService.endProcessInstance(processInstance.getId(), "cancle");  
  55.     }  
  56.       
  57.     /** 
  58.      * 删除流程 
  59.      */  
  60.     public void deleteProcessInstance() {  
  61.         ExecutionService executionService = processEngine.getExecutionService();  
  62.         ProcessInstance processInstance = executionService.startProcessInstanceByKey("helloworld");  
  63.         executionService.deleteProcessInstanceCascade(processInstance.getId());  
  64.     }  
  65.       
  66.     /** 
  67.      * 查看流程 
  68.      */  
  69.     public void selectProcessInstance() {  
  70.         ExecutionService executionService = processEngine.getExecutionService();  
  71.         ProcessInstance processInstance1 = executionService.startProcessInstanceByKey("helloworld");  
  72.         ProcessInstance processInstance2 = executionService.startProcessInstanceByKey("helloworld");  
  73.         List<ProcessInstance> processInstanceList= executionService  
  74.                                     .createProcessInstanceQuery().list();  
  75.           
  76.         for (ProcessInstance processInstance : processInstanceList) {  
  77.             System.out.println("流程的个数:"+processInstance.getId());  
  78.         }  
  79.     }  
  80.       
  81. }  


    2、并发子流程参考文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值