通过Activiti中的execution-id识别任务类型

时间:2014-05-23 13:34:56

标签: java activiti bpmn

是否可以通过Activiti中的execution-id识别(BPMN)任务类型(服务任务,发送任务,接收任务......)?我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:2)

只有这些信息才能得到你想要的东西。任务类型与活动和活动ID有关。您可以使用execution.getCurrentActivityId()来检索执行的活动ID。这对你有帮助:

final Execution execution = runtimeService.createExecutionQuery().executionId(executionId).singleResult();
final ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(execution.getProcessInstanceId()).singleResult();
final BpmnModel bpmnModel = repositoryService.getBpmnModel(processInstance.getProcessDefinitionId());
final org.activiti.bpmn.model.FlowElement flowElement = bpmnModel.getFlowElement(((DelegateExecution) execution).getCurrentActivityId());

flowElement将是您要查找的活动。你可以检查它的类型。