jBPM-jPDL学习笔记 - 流程设计与控制- jBPM3.1.4 下载本文

140. System.out.println(\sks()==\

141. JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext();

142. try{

143. List coll = jbpmContext.getTaskMgmtSession().findTaskInstancesByProcessInstance(pi); 144. System.out.println(\);

145. for(TaskInstance ti : coll){

146. System.out.println(\=\

147. System.out.println(\+\

148. System.out.println(\().toString() +\149. }

150. System.out.println(\151. }finally{

152. jbpmContext.close(); 153. } 154. } 155. }

相对于简单流程测试案例,标准流程的业务是相同的。它们的不同点在于:简单流程通过XML载入流程定义,并使用类的全局变量来保存流程实例的引用;而标准流程则是通过数据库载入流程定义,并使用数据库的会话来维护流程的运行。

1. 从数据库载入流程定义 Java代码

1. JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); ? 从jBPM配置环境中获取jBPM上下文实例,jbpmContext是对jbpm持久层操作API及上下文环境的封装,它根据jBPM的配置文件生成。 ?

Java代码

1. GraphSession graphSession = jbpmContext.getGraphSession(); 生成对流程图操作的持久层会话 ?

Java代码

1. ProcessDefinition pdf = graphSession.findLatestProcessDefinition(\从数据库获取命名为“simple”的流程定义。

2. 新建流程实例,并存入数据库持久化 ?

Java代码

1. ProcessInstance pi = pdf.createProcessInstance(); 根据流程定义生成实例。 ?

Java代码

1. pi.getContextInstance().createVariable(\2. pi.signal();

设置实例的上下文变量,激活实例执行进程。 ?

Java代码

1. jbpmContext.save(pi);

保存实例到数据库,持久化实例。

3. 从数据库获取属于指定操作者的任务集 Java代码

1. JbpmContext jbpmContext = jbpmConfiguration.createJbpmContext(); 2. try{

3. List taskInstances = jbpmContext.getTaskList(\

4. for(TaskInstance ti : taskInstances){

5. System.out.println(\

6. System.out.println(\7. if(pass){

8. ti.end(\部门经理审批通过\9. }else{

10. ti.end(\部门经理驳回\11. } 12. }

13.}finally{

14. jbpmContext.close(); 15.}

通过JbpmContext对象,从数据库获取指定操作者的任务集合: Java代码

1. List taskInstances = jbpmContext.getTaskList(\artmentManager\

注意,在每次的JbpmContext对象使用完毕后,一定要执行jbpmContext.close(),其本质是要释放数据库的操作连接。

(全文完)

FirstFlow样例代码.rar (85.9 KB)

? 描述: jBPM Eclipse源码工程包(由于附件大小限制,去掉了lib中的jar包)修订过的 MySQL建库脚本 ? 下载次数: 5381

?