2

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

整个流程的扩展属性中的process_order

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

bpmn 文件

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

感谢您的任何回复:)

4

2 回答 2

2

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

此处的模型 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();
        }
于 2019-12-19T17:10:44.890 回答
-1

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

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

在覆盖方法中,您可以通过

execution.getVariable("变量名")

Camunda 进程侦听器图像

于 2019-12-17T08:43:28.233 回答