A-A+
Activiti监听器参数
本篇记录一下Activiti监听器的参数详情。
直接上代码:
import org.activiti.engine.delegate.DelegateExecution;
import org.activiti.engine.delegate.ExecutionListener;
public class MyStartListener implements ExecutionListener {
@Override
public void notify(DelegateExecution delegateExecution) {
System.out.println("流程启动");
System.out.println("getId:" + delegateExecution.getId());
System.out.println("getProcessInstanceId:" + delegateExecution.getProcessInstanceId());
System.out.println("getRootProcessInstanceId" + delegateExecution.getRootProcessInstanceId());
System.out.println("getEventName:" + delegateExecution.getEventName());
System.out.println("getProcessInstanceBusinessKey:" + delegateExecution.getProcessInstanceBusinessKey());
System.out.println("getProcessDefinitionId:" + delegateExecution.getProcessDefinitionId());
System.out.println("getParentId:" + delegateExecution.getParentId());
System.out.println("getSuperExecutionId:" + delegateExecution.getSuperExecutionId());
System.out.println("getCurrentActivityId:" + delegateExecution.getCurrentActivityId());
System.out.println("getTenantId:" + delegateExecution.getTenantId());
System.out.println("getCurrentFlowElement:" + (null != delegateExecution.getCurrentFlowElement() ? delegateExecution.getCurrentFlowElement().getName() : null));
System.out.println("=======");
}
}
输出的结果:
流程启动
getId:47537
getProcessInstanceId:47537
getRootProcessInstanceId47537
getEventName:start
getProcessInstanceBusinessKey:myTestFlow1
getProcessDefinitionId:Flow002:2:47527
getParentId:null
getSuperExecutionId:null
getCurrentActivityId:null
getTenantId:
getCurrentFlowElement:null
=======
官方的JavaDoc解释:
getId:唯一的句柄。
getProcessInstanceId:流程实例。
getRootProcessInstanceId:最顶层的流程实例。
getEventName:事件的名称。
getProcessInstanceBusinessKey:关联流程实例的业务Key。
getProcessDefinitionId:流程定义标识。
getParentId:父级id。
getSuperExecutionId:调用执行的id。
getCurrentActivityId:当前ActivitiId。
getTenantId:租户id。
getCurrentFlowElement:当前所在的BPMN元素。
以上有一些会在后面的Demo中用到。目前:
getEventName是设置监听器时选择的Event值。
getProcessInstanceBusinessKey是启动流程时,传入的字符串。
getProcessInstanceId对应的是启动流程时返回的实例id。
getProcessDefinitionId对应的是流程发布后的唯一标识。
