本文介绍执行监听器与任务监听器的基本原理和使用方法。当流程途径连线或者节点的时候,会触发对应的事件类型。执行监听器与任务监听器在生产中经常会用在几个方面:
-
动态分配节点处理人。通过前一个节点设置的变量,在运行到下一个节点时设置对应的处理人;
-
当流程运行到某个节点时,发送邮件或短信给待办用户;
统计流程处理时长,是否超时等; -
业务层面数据处理。
-
任务监听器顾名思义是监听任务的。任务监听器的生命周期如下图所示,会经历assignment、create、complete、delete。当流程引擎触发这四种事件类型时,对应的任务监听器会捕获其事件类型,再按照监听器的处理逻辑进行处理。
-
监听的事件类型:
create(创建):当任务已经创建,并且所有任务参数都已经设置时触发。
assignment(指派):当任务已经指派给某人时触发。请注意:当流程执行到达用户任务时,在触发create事件之前,会首先触发assignment事件。
complete(完成):当任务已经完成,从运行时数据中删除前触发。
delete(删除):在任务即将被删除前触发。请注意任务由completeTask正常完成时也会触发。)
执行监听器则监听流程的所有节点和连线。主要有start、end、take事件。其中节点有start、end两种事件,而连线则有take事件。下图是执行监听器的生命周期: