如何在 KIE Workbench 中将过程变量存储到全局变量? (jBPM 7)

How do I store a process variable to a global variable in KIE Workbench? (jBPM 7)

我有一个全局整数变量RANDOM_NUMBER

我只想将 returns 随机数的服务响应存储到该全局变量中。我如何在 workbench?

中做到这一点

所以基本上RANDOM_NUMBER = result

业务流程:

变量:

服务数据I/O:

我认为,但我不能说我仔细测试过,全局变量在进程或进程实例之间共享,并且进程数据可用于特定的进程实例。

编辑:因此您可以将工作项的结果保存到流程变量中,但您必须使用代码来访问全局变量。请参阅文档的 8.6.1. Variables 部分。

问题是 "result" 在退出脚本的上下文中不可用作变量。它是工作项的输出参数。因此,为了将工作项的结果放入一个变量中,然后可以将其复制到全局变量中,请创建一个过程变量(在您的情况下 result 虽然我不喜欢重复的名称)并将结果分配给它,看起来就像你所做的那样。

所以 REST 工作项的退出脚本上的脚本可能应该是。

kcontext.getKieRuntime().setGlobal("RANDOM_NUMBER", Integer.parseInt(result.trim()));