foreach 活动允许通过一条单独的流程路径 开始执行多条流程分支。 它的属性描述见下表。
属性 | 类型 | 默认值 | 是否必须? | 描述 |
in | 表达式或字符串 | | 必须 | 将被迭代的集合。集合中的每个元素会生成一个新的同步分支 沿着默认的转移向外执行。in 执行任意类型的集合,数组和以逗号分隔的字符串。 |
var | 表达式或字符串 | | 必须 | 用来保存集合中当前元素的变量。 这个变量会设置到同步流程分支中, 并且只对这个流程分支可见。 |
在这个例子中,我们需要收集 不同部门的考勤表。同一个任务可以被不同的组织执行。 使用foreach就很容易实现了。 流程变量departments提供了所需要的组织名称, 同时,变量quota代表了多少个任务必须被完成, 在流程离开join之前。
<process name="ForEach" xmlns="http://jbpm.org/4.4/jpdl">
<start g="28,61,48,48" name="start1">
<transition to="foreach1"/>
</start>
<foreach var="department" in="#{departments}" g="111,60,48,48" name="foreach1">
<transition to="Collect reports"/>
</foreach>
<task candidate-groups="#{department}" g="201,58,92,52" name="Collect reports">
<transition to="join1"/>
</task>
<join g="343,59,48,48" multiplicity="#{quorum}" name="join1">
<transition to="end1"/>
</join>
<end g="433,60,48,48" name="end1"/>
</process>
在使用foreach的时候,对应的join必须设置一个multiplicity属性。 如果没有设置,join会根据它的进入转移来判断当前的流程是否需要继续流转。 在上面的例子里,join只有一个单独的进入转移。 如果multiplicity没有设置,第一个流程到达join活动 就会立刻触发继续执行离开join。
下面是如何初始化迭代用的流程变量。
Map<String, Object> variables = new HashMap<String, Object>();
variables.put("departments", new String[] { "sales-dept", "hr-dept", "finance-dept" });
variables.put("quorum", 3);
ProcessInstance processInstance = executionService.startProcessInstanceByKey("ForEach", variables);
分享到:
相关推荐
jbpm4源码jbpm4源码jbpm4源码
jBPM4的PVM实现解析
,jbpm4的源码,分支,会签等一些中国特色建立下载《jBPM4工作流应用开发指南.pdf》这本书
5.1表JBPM4_DEPLOYMENT 7 5.2 表JBPM4_DEPLOYPROP 7 5.3 表JBPM4_EXECUTION 8 5.4 表JBPM4_HIST_ACTINST 9 5.5 表JBPM4_HIST_DETAIL 9 5.6 表JBPM4_HIST_PROCINST 10 5.7 表JBPM4_HIST_TASK 11 5.8 表JBPM4_HIST_VAR...
jbpm应用开发指面(胡奇) jbpm4.3表结构和表字段说明 [jBPM开发指南].高杰.文字版 jBPM5_用户手册-中文版
jboss jbpm4最新开发包 采用了pvm框架
java源代码分包详解JBPM4 java源代码分包详解JBPM4
jbpm教程、jbpm动态设置参与者、jbpm实例下载
jbpm4。4中表之间的关系,jbpm4 表关系
jBPM4工作流应用开发指南 胡奇写的,十分赞!!
JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS JBPM4 SSH EXTJS JBPM SSH EXTJS 希望对大家有帮助。
jbpm4新手教程
这是jbpm4的安装配置介绍文件,详细的介绍了jbpm4与eclipse的集成
整理的别人JBPM4 学习资料, 工作流学习文档
JBPM4 开发文档 实例 流程 JBPM4 开发文档 实例 流程 JBPM4 开发文档 实例 流程
JBPM4 表结构概要说明 操作信息变化 各字段详细说明
本示例是jBPM4工作流示例jbpmDemo,详细演示了jBPM4工作流引擎的使用,对工作流采用Canvas动画形象演示,非常实用。也非常先进和有趣。 希望您喜欢。
风中叶老师讲的JBPM4与Spring整合例子代码 JBPM4 Spring OA工作流系统
jbpm jbpm4.3.jar DDDDDDDD
这个主要是用于搭建jbpm4.4环境的开发工具包,需要的朋友可以下载参考