A-A+

Activiti监听器参数

2019年03月31日 技术 暂无评论 阅读 5,702 次

本篇记录一下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对应的是流程发布后的唯一标识。

觉的不错?可以关注我的公众号↑↑↑

给我留言

Copyright © 字痕随行 保留所有权利.   Theme  Ality

用户登录

分享到: