Activiti7工作流引擎:基础篇 任务监听器和流程监听器

Posted vbirdbest

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Activiti7工作流引擎:基础篇 任务监听器和流程监听器相关的知识,希望对你有一定的参考价值。

你只有一定要,才一定会得到。

一:任务监听器TaskListener

任务监听器是处理业务逻辑的重要的地方,当任务创建设定负责人完成任务时都可以监听的到从而来处理自己的业务。

常用于监听Assignment事件,设置完负责人给负责人发一个消息来通知提示。注意:任务监听器只能用在UserTask上使用。

监听的事件类型:

  • Create:任务创建后触发。常用于任务创建后设置任务负责人等。
  • Assignment:任务分配后触发。常用于设置完负责人后向负责人发邮件、短信等通知一下。
  • Delete:任务完成后触发。
  • All:所有事件发生都触发。


注意:直接点击Task Listeners 前面的三角是展示不了内容的,要先点击Task Listeners右边的空白处再点击三角才会展开,Listener也是如此。

public class OffWorkTaskListener implements TaskListener 

    @Override
    public void notify(DelegateTask delegateTask) 
        System.out.println(delegateTask.getName());
        // create,assignment,delete,all
        System.out.println(delegateTask.getEventName());

        // delegateTask.setAssignee("xxx");
    

二:流程监听器ExecutionListener

任务监听器只能监听UserTask,流程监听器用在流程的不同的阶段上:

  • 开始事件和结束事件的开始和结束
  • 经过输出顺序流
  • 流程活动的开始和结束
  • 流程网关的开始和结束
  • 中间事假的开始和结束
import org.activiti.engine.delegate.ExecutionListener;

public class MyExecutionListener implements ExecutionListener 
    @Override
    public void notify(DelegateExecution execution) 
        // Id=_2
        System.out.println("Id=" + execution.getCurrentFlowElement().getId());
        // Name=StartEvent
        System.out.println("Name=" + execution.getCurrentFlowElement().getName());
        // EventName=start
        System.out.println("EventName=" + execution.getEventName());
        // ProcessDefinitionId=helloworld:1:3
        System.out.println("ProcessDefinitionId=" + execution.getProcessDefinitionId());
        // ProcessInstanceId=2501
        System.out.println("ProcessInstanceId=" + execution.getProcessInstanceId());
    

以上是关于Activiti7工作流引擎:基础篇 任务监听器和流程监听器的主要内容,如果未能解决你的问题,请参考以下文章

Activiti7工作流引擎:进阶篇 ReceiveTask

Activiti7工作流引擎:基础篇 Hello World

Activiti7工作流引擎:任务监听器TaskListener

Activiti7工作流引擎:高阶篇 前进和后退任务

Activiti7工作流引擎:高阶篇 前进和后退任务

Activiti7工作流引擎:基础篇 常用操作