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

时间:2016-07-11 14:24:27

标签: java bpmn camunda

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

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

现在我的服务任务是实现一个java类,我想用它来处理变量" a"和" b"?

如何获得相同的过程变量" a"和" b"在那堂课?

1 个答案:

答案 0 :(得分:2)

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

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

这是非常基本的,并且在入门示例中介绍了shure。也许退一步研究基本概念可能是一个好主意吗?