父流程还可以根据子流程内部的流程变量而决定父流程的分支走向。
父流程图如下:
咱们先给出父流程的Xml描述如下:
<?xml version="1.0" encoding="UTF-8"?>
<process name="ProcessFather2" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1" g="12,134,48,48">
<transition name="to review" to="review" g="-22,30" />
</start>
<sub-process name="review" g="115,132,92,52"
sub-process-key="ProcessSub2" outcome="#{result}">
<transition name="ok" to="ok" g="161,63:-56,-22" />
<transition name="update" to="update" g="-20,-20" />
<transition name="close" to="close" g="162,267:-56,-22" />
</sub-process>
<state name="ok" g="293,38,92,52" />
<state name="update" g="292,132,92,52" />
<state name="close" g="296,239,92,52" />
</process>
子流程如下:
流程xml如下:
<?xml version="1.0" encoding="UTF-8"?>
<process name="ProcessSub2" xmlns="http://jbpm.org/4.4/jpdl">
<start name="start1" g="34,119,48,48">
<transition name="to task1" to="task1" g="-52,-22"/>
</start>
<task name="task1" g="139,117,92,52" assignee="liuyan">
<transition name="to end1" to="end1" g="-50,-22"/>
</task>
<end name="end1" g="297,120,48,48"/>
</process>
测试代码如下:
/**
* 开始父流程 传入参数
*/
public void test03StartFather() {
// 开始process流程
ProcessInstance processInstance = executionService
.startProcessInstanceByKey("ProcessFather2");
// 流程实例的ID
String pid = processInstance.getId();
System.out.println(pid);// ProcessFather2.20001
}
/**
* 结束子流程的任务,向父流程传输参数,转移流程
*/
public void test04completeTask() {
List<Task> list = taskService.findPersonalTasks("liuyan");
for (Task task : list) {
String taskId = task.getId();
// 传给父流程的参数
Map<String, Object> res = new HashMap<String, Object>();
res.put("result", "ok");
taskService.setVariables(taskId, res);
taskService.completeTask(taskId);
}
}
/**
* 查找父流程的变量的最终归宿
*/
public void test05findFatherRes() {
// 20001
ProcessInstance processInstance = executionService
.findProcessInstanceById("ProcessFather2.20001");
Set<String> activeActivityNames = processInstance
.findActiveActivityNames();
System.out.println(activeActivityNames);
}
测试代码中在子流程中set一个子流程变量result,在父流程中,根据这个result决定了走向。
- 大小: 14.7 KB
- 大小: 6.5 KB
分享到:
相关推荐
JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM采购申请系统——08_JBPM流程节点.7z JBPM...
【jBPM4学习总结】 jBPM,全称为Java Business Process Management,是一个开源的、灵活且可扩展的业务流程管理框架,涵盖了业务流程管理、工作流和服务协作等多个领域。自2004年10月加入JBoss组织后,jBPM逐渐成为...
下面,我们将通过学习笔记,了解jBPM-jPDL的流程设计与控制机制。 流程设计 在jBPM-jPDL中,流程设计是指定义业务流程的结构和行为。流程设计通常包括定义流程的各个节点、 переход和操作。jPDL(Java ...
《jBPM-jPDL学习笔记——流程设计与控制》 在IT行业中,流程管理和自动化是企业提升效率的关键。jBPM(Java Business Process Management)是一个开源的工作流和业务流程管理套件,它允许开发者通过定义流程定义...
JPDL4 schema效验是在jbpm-4.4.zip中的src文件夹下的jpdl-4.0.xsd——jpdl-4.4.xsd的xml效验,将其引入到Eclipse中来,就可以使用快捷键编辑xml流程了。引入步骤如下:Preferences->Myeclipse->files and editors->...
**JBPM4 学习使用总结** JBPM4(Java Business Process Management)是Jboss公司推出的一款开源的工作流管理系统,它提供了完整的业务流程自动化解决方案,包括流程设计、部署、执行、监控以及管理等功能。在深入...
JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请系统——10_任务事件与任务控制器.7z JBPM采购申请...
在JBPM中,处理并发子流程是实现复杂业务逻辑的重要一环。本文将深入探讨如何使用TaskNode来实现并发子流程的模拟执行。 首先,我们需要在数据库中准备至少三个流程定义,包括一个主流程和两个子流程。发布这些流程...
JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM数据库.7z JBPM采购申请系统——05_构建JBPM...
JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z JBPM采购申请系统——06_JBPM版本控制及Token对象.7z ...
JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z JBPM采购申请系统——02_Eclipse与JBPM.7z ...
JBPM4(Java Business Process Management 4)是一个轻量级的开源工作流管理系统,基于J2EE架构,旨在帮助开发者实现复杂的业务流程自动化。该项目于2004年10月18日发布2.0版本,并随后成为JBoss企业中间件平台的一...
【jbpm-console-ng-process-modeling-client-6.0.0.Beta1.zip】是一个与业务流程管理(BPM)相关的开源项目,主要关注的是过程建模的用户界面客户端。jbpm是JBoss企业级中间件的一部分,由Red Hat公司维护,提供了...
JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM采购申请系统——13_JBPM异步(二).7z JBPM...
JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM采购申请系统——12_JBPM异步(一).7z JBPM...
Business Process Model and Notation(BPMN)2.0是一种图形化表示工作流程的规范,JBPM4支持该标准,使得开发者能够用直观的方式设计复杂的业务流程。 ### 4. JBPM与Spring集成 JBPM4可以无缝集成到Spring应用中,...
JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM中的脚本语言.7z JBPM采购申请系统——07_JBPM...
JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_JBPM4.0使用及特性.7z JBPM采购申请系统——20_...