我想改进我的jbpm进程的结构,因此试图将一些东西封装在一个可重用的子进程中。按照文档中的说明,我首先创建了一个简单的测试过程来验证其行为。
为此,我定义了以下内容:
具有 2 个类型为 String 的变量"sub_in"和"sub_out"的(父)进程。第二个(子)进程,具有 2 个变量"in_sub"和"out_sub",类型为 String。
父进程包含一个脚本任务(将"sub_in"设置为"input")、一个子进程任务(调用子进程)和第二个脚本任务(输出值"sub_out"。
子进程包含一个脚本任务,该任务输出"in_sub"的值并将"out_sub"设置为"输出"。此外,我还定义了(名称:"in_sub",数据类型:"字符串",源"sub_in")和(名称"out_sub",数据类型:"字符串",目标:"sub_out")的 I/O 映射。
令人惊讶的是,两个脚本都输出 null 作为相应变量的值。此功能在版本 6.4.0 中是否损坏?我错过了什么吗?我在谷歌群组上看到了类似的问题,但没有任何反应。
仅供参考:我正在使用 Kie-Workbench 和 KIE 执行服务器(两个 JBoss EAP 6.4 实例上的版本 6.4.0.Final )来设计和运行进程。
任何建议不胜感激。
我在jBPM 6.5 beta 1上做了这个,它按预期工作。 在脚本任务中,请确保设置变量,例如
kcontext.setVariable("sub_in", "input");
它可能在 6.4 中被破坏 - 我知道多实例子进程在该负载中被破坏,在 6.5 beta 1 中修复(见 https://issues.jboss.org/browse/JBPM-5143)