我有一个调用 Activity ,它用于我的 BPMN 图的不同 channel 。 Call Activity 中有一个任务。是否可以从 Task 中确定 Call Activity 的 Lane?
在这里的图片中看起来像这样:
我想从任务“获取父车道”中分别确定“MyLane1”和“MyLane2”。
最佳答案
您可以使用 BPMN 模型 API 来确定引用 Activity 的车道:
ProcessDefinition procDef = repositoryService.createProcessDefinitionQuery().processDefinitionKey("idOfProcess").singleResult();
BpmnModelInstance bpmnModelInstance = repositoryService.getBpmnModelInstance(procDef.getId());
CallActivity callActivity = null;
Collection<Lane> lanes = bpmnModelInstance.getModelElementsByType(Lane.class);
// iterate the lanes
for (Lane lane : lanes) {
// iterate the flownodes referenced by the lane:
for (FlowNode flowNode : lane.getFlowNodeRefs()) {
if("idOfCallactivity".equals(flowNode.getId())) {
callActivity = (CallActivity) flowNode;
break;
}
}
}
if(callActivity != null) {
// work with callactivity
}
关于java - 如何确定调用 Activity 的 channel ?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26383131/