不知道有人能给我一个直截了当的答案。这主要是好奇心,但可能是重要的事情。
使用jBPM时,我有两个声明过程变量的选项:
1)使用Map将参数传递给BPMN,使用Map,其中string是变量名,Object是其值
2)直接在BPMN属性
上我最近注意到在BPMN中声明流程变量就足够了。我应该只在那里声明它还是应该在java类中声明它?这有什么区别?
干杯
答案 0 :(得分:4)
BPMN文件必须定义将在流程的不同节点中使用的所有流程变量。过程变量主要用于将输入/输出变量映射到任务或从任务映射。如果在TaskA中需要来自流程的变量,则必须在流程中定义变量,并且必须定义正确的映射。要在流程中使用变量,必须先定义它。 这里的误解是BPMN只定义了变量的名称和类型,而不是它们的结构。如果要在启动进程时将值设置为这些变量,则必须提供您提到的映射。 jBPM会将Map的值“复制”到过程中的变量。您在Map中使用的键必须与您在流程中定义的变量名称相对应。
希望它有所帮助,