jbpm教程(三) 将公文提交到第一个环节

18 篇文章 0 订阅
7 篇文章 0 订阅
package com.sxito.jbpm;
 
 import junit.framework.TestCase;
 
 import org.jbpm.JbpmConfiguration;
 import org.jbpm.JbpmContext;
 import org.jbpm.graph.exe.ProcessInstance;
 
 
 public class Jbpm_04_SubmitDocument extends TestCase {
 	static JbpmConfiguration jbpmConfiguration =  JbpmConfiguration.getInstance();
 	/**
 	 * 将公文提交到第一个环节
 	 * 根据公文编号得到该公文对象
 	 * 根据该公文对象获得流程实例编号
 	 * 根据流程实例编号获得流程实例对象
 	 * 调用流程实例对象的signal()方法。
 	 * 
 	 */
 	public void testSubmitDocument(){
 		
 		//创建jbpm上下文对象
 		JbpmContext context = jbpmConfiguration.createJbpmContext();
 		try{
 			//已知公文Id 获取公文   根据公文获取流程实例编号  根据流程实例编号获取流程实例  调用signal()方法提交
 			int docId = 1;
 			Document doc = (Document) context.getSession().load(Document.class, docId);
 			long processInstanceId = doc.getProcessInstanceId();
 			ProcessInstance instance = context.getProcessInstance(processInstanceId);
 			//只能从开始节点第一次提交的时候调用一次,原因如下
 //			例如流程为 甲到乙到丙   若用三次signal()方法
 //			则 甲乙丙都会有该公文 不是我们想要点只有丙有,甲乙没有的状况
 			instance.signal();
 		}catch(Exception e){
 			e.printStackTrace();
 //			如果部署不成功则回滚
 			context.setRollbackOnly();
 		}finally{
 			context.close();
 		}
 	}
 }
 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值