如何使用Java

时间:2019-12-16 09:43:16

标签: java camunda camunda-modeler

我的camunda流程模型中有多个流程。我想按数字顺序对它们进行排序,因此我在每个称为“ process_order”的过程中添加了一个变量,并给它们提供了代表顺序的数字(1是第一优先级,2是第二优先级,依此类推),如图所示。下图。

process_order in extension property on the whole process

在BPMN文件中,它看起来像这样:

bpmn file

所以我想知道如何使用Java获得扩展属性?

感谢您的答复:)

2 个答案:

答案 0 :(得分:0)

添加一个Java类作为侦听器,如下图所示。

Java类应实现org.camunda.bpm.engine.delegate.JavaDelegate。

在重写方法中,您可以通过

获取变量

execution.getVariable(“变量名称”)

Camunda Process Listener Image

答案 1 :(得分:0)

您想何时/从何处读取该物业?

此处的模型API文档是否可以回答您的问题? https://docs.camunda.org/manual/latest/user-guide/model-api/bpmn-model-api/extension-elements/

如果您需要从执行中读取信息:

ServiceTask serviceTask = (ServiceTask) execution.getBpmnModelElementInstance();

CamundaProperties camProperties = serviceTask.getExtensionElements().getElementsQuery().filterByType(CamundaProperties.class).singleResult(); 

    for (CamundaProperty camProperty : camProperties.getCamundaProperties()) 
        {
          String name = camProperty.getCamundaName();
          String value = camProperty.getCamundaValue();
        }