如何在 JBPM 6.4.0 中与可重用子流程交换变量?
How to exchange variables with reusable sub-process in JBPM 6.4.0?
我想改进我的 jbpm 流程的结构,因此尝试将一些东西封装在一个可重用的子流程中。按照 documentation 中的说明,我首先创建了一个简单的测试过程来验证其行为。
为此,我定义了以下内容:
具有 2 个变量 "sub_in" 和 "sub_out" 类型字符串的(父)进程。
第二个(子)进程有 2 个变量 "in_sub" 和 "out_sub" 类型的字符串。
父进程包含一个Script Task,将"sub_in"设置为"input",一个Sub-process Task(调用子进程),第二个Script Task,输出值"sub_out".
子进程包含单个脚本任务,它输出 "in_sub" 的值并将 "out_sub" 设置为 "output"。
另外我定义了一个 I/O-mapping of (Name: "in_sub", Data Type: "String", Source "sub_in") and (Name "out_sub", Data Type: "String", 目标: "sub_out").
令人惊讶的是,两个脚本都输出 null 作为相应变量的值。此功能在 6.4.0 版中是否已损坏?我错过了什么吗?
我看到一个类似的问题on Google groups,但没有任何反应。
仅供参考:我正在使用 Kie-Workbench 和 KIE 执行服务器(两个版本 6.4.0.Final 在两个 JBoss EAP 6.4 实例上)来设计和 运行 流程。
如有任何建议,我们将不胜感激。
我在 jBPM 6.5 beta 1 上做了这个并且它按预期工作。在脚本任务中,确保您设置了
之类的变量
kcontext.setVariable("sub_in", "input");
它可能在 6.4 中被破坏 - 我知道多实例子进程在那个负载中被破坏,在 6.5 beta 1 中修复(参见 https://issues.jboss.org/browse/JBPM-5143)
我想改进我的 jbpm 流程的结构,因此尝试将一些东西封装在一个可重用的子流程中。按照 documentation 中的说明,我首先创建了一个简单的测试过程来验证其行为。
为此,我定义了以下内容:
具有 2 个变量 "sub_in" 和 "sub_out" 类型字符串的(父)进程。 第二个(子)进程有 2 个变量 "in_sub" 和 "out_sub" 类型的字符串。
父进程包含一个Script Task,将"sub_in"设置为"input",一个Sub-process Task(调用子进程),第二个Script Task,输出值"sub_out".
子进程包含单个脚本任务,它输出 "in_sub" 的值并将 "out_sub" 设置为 "output"。 另外我定义了一个 I/O-mapping of (Name: "in_sub", Data Type: "String", Source "sub_in") and (Name "out_sub", Data Type: "String", 目标: "sub_out").
令人惊讶的是,两个脚本都输出 null 作为相应变量的值。此功能在 6.4.0 版中是否已损坏?我错过了什么吗? 我看到一个类似的问题on Google groups,但没有任何反应。
仅供参考:我正在使用 Kie-Workbench 和 KIE 执行服务器(两个版本 6.4.0.Final 在两个 JBoss EAP 6.4 实例上)来设计和 运行 流程。
如有任何建议,我们将不胜感激。
我在 jBPM 6.5 beta 1 上做了这个并且它按预期工作。在脚本任务中,确保您设置了
之类的变量kcontext.setVariable("sub_in", "input");
它可能在 6.4 中被破坏 - 我知道多实例子进程在那个负载中被破坏,在 6.5 beta 1 中修复(参见 https://issues.jboss.org/browse/JBPM-5143)