如何在Camunda-bpm中使用流程变量?

How to use process variables in Camunda-bpm?

我是 Camunda 的新手,没有找到任何教程或参考资料来解释如何实现以下目标: 我有一个简单的 bpmn 流程,我在其中使用服务任务。我想使用 processEngine.getRuntimeService().startProcessInstanceByKey("Process_1", variables); 来执行我的流程 我的变量如下:

Map variables = new HashMap();
variables.put("a", 2);
variables.put("b", 5);

现在我的服务任务是实现一个 java class,我想在其中处理变量 "a" 和 "b"?

如何在 class 中获得相同的过程变量 "a" 和 "b"?

让您的 class 实现 JavaDelegate 并将其添加为建模器中的服务委托。然后通过传递给 execute 方法的 DelegateExecution 实例访问变量。

public class MyServiceDelegate implements JavaDelegate {
    public void execute(DelegateExecution execution) {
        execution.getVariable("a");
    }
}

这是非常基础的,并且在入门示例中涵盖了 shure。也许退后一步研究基本概念是个好主意?