如何使用流程变量?
李小翔
2014-07-03 17:15

内容列表

在工作流引擎中，使用流程变量，可以进一步增加系统的灵活性，用户可以在流程执行过程中的任何时间插入/设置流程变量，然后可以随时的读取流程变量，这样可以实现用户的数据传递、暂存一些复杂判断的结果、记录流程状态等功能。
BroBPM 中，可以通过各种事件来设置变量、并且在所有支持脚本的配置中使用变量。
比如，在环节的事件“从本环节提交出去后”（callbackAfter），设置一个变量 foo，其值为123：
vars.foo = 123
在路径的条件（test）属性中，可以读取变量 foo 来执行计算：
vars.foo > 100
通过上面两个例子可以看出：
在脚本中可以直接使用 vars 参数来存取流程变量，其他类似参数还有 pi、bean 等
参数 vars 的类型为 Map，因此流程变量仅仅是一个键值对，并且支持各种可以序列化的数据类型
如果对 vars 中的键值对进行了修改（增、删、改），系统会自动将修改后的内容保存到数据库中
此外，还可以通过API来访问流程变量，如下例所示：
Map vars = bropen.bpm.instance.ProcessVariables.get(bean.processInstanceId)?.value
println vars?.foo