【发布时间】:2023-03-11 06:56:01
【问题描述】:
我的 camunda 流程模型中有几个流程。我想按照数字顺序对它们进行排序,因此我在每个进程中添加了一个变量,我称之为“process_order”,并给它们一个代表顺序的数字(1 是第一优先级,2 是第二优先级等),如图所示下图。
在 BPMN 文件中是这样的:
所以我想知道如何使用 Java 获取扩展属性?
感谢您的回复:)
【问题讨论】:
标签: java camunda camunda-modeler
我的 camunda 流程模型中有几个流程。我想按照数字顺序对它们进行排序,因此我在每个进程中添加了一个变量,我称之为“process_order”,并给它们一个代表顺序的数字(1 是第一优先级,2 是第二优先级等),如图所示下图。
在 BPMN 文件中是这样的:
所以我想知道如何使用 Java 获取扩展属性?
感谢您的回复:)
【问题讨论】:
标签: java camunda camunda-modeler
您希望何时/从何处读取该属性?
此处的模型 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();
}
【讨论】:
如下图所示添加一个java类作为监听器。
Java 类应该实现 org.camunda.bpm.engine.delegate.JavaDelegate。
在overriden方法中,可以通过
execution.getVariable("变量名")
【讨论】: