如何在JBPM 6.4.0中使用可重用的子进程交换变量?

时间:2016-07-14 14:00:17

标签: java jbpm kie-wb

我想改进jbpm进程的结构,因此试图在可重用的子进程中封装一些东西。按照documentation中的说明,我首先创建了一个简单的测试过程来验证其行为。

为实现这一目标,我定义了以下内容:

具有2个变量的(父 - )过程" sub_in"和" sub_out"类型为String。 第二个(子) - 过程有2个变量" in_sub"和" out_sub"类型为String。

父进程包含一个脚本任务,用于设置" sub_in" to"输入",子流程任务(调用子流程),以及第二个脚本任务,它输出" sub_out"的值。

子进程包含一个脚本任务,它输出" in_sub"的值。并设置" out_sub"到"输出"。 另外,我定义了一个I / O映射(Name:" in_sub",Data Type:" String",Source" sub_in")和(Name" ; out_sub",数据类型:"字符串",目标:" sub_out")。

令人惊讶的是,两个脚本都输出 null 作为相应变量的值。版本6.4.0中是否破坏了此功能?我错过了什么吗? 我看到了类似的问题on Google groups,但没有任何反应。

仅供参考:我正在使用Kie-Workbench和KIE Execution服务器(两个JBoss EAP 6.4实例上的版本6.4.0.Final)来设计和运行这些流程。

任何建议都表示赞赏。

1 个答案:

答案 0 :(得分:0)

我是在jBPM 6.5 beta 1上做到的,它按预期工作。在脚本任务中,确保设置像

这样的变量
kcontext.setVariable("sub_in", "input");

它可以在6.4中被破坏 - 我知道多个实例子进程在该负载中被破坏,在6.5 beta 1中修复(参见https://issues.jboss.org/browse/JBPM-5143