执行监听器 允许您在流程执行期间发生特定事件时执行外部Java代码或评估表达式。
执行侦听器意味着侦听一组有限的流程执行操作,如start、end和take,开发者可以在启动或结束之前添加一些特定的业务逻辑。
任务监听器 是处理业务逻辑的重要的地方,当任务创建、设定负责人、完成任务时都可以监听的到从而来处理自己的业务。
需求举例一个任务监听器:
在某一个审批节点上,需要根据表单业务逻辑,动态分配下一个节点的审批用户。
比如,节点(部门经理)处,,根据表单的“部门”字段分配给对应的部门经理。即假如表单的部门字段是A,那就分配给A部门的部门经理去审批,而不要给B部门的部门经理审批。
实现步骤
(1)在节点“部门经理”处,配置任务监听器
这里的事件有四种可以选择:create、assignment、complete、deletet
create(创建):当任务已经创建,并且所有任务参数都已经设置时触发。
assignment(指派):当任务已经指派给某人时触发。
complete(完成):当任务已经审批完成时触发,即审批人审批结束后。
delete(删除):在任务即将被删除前触发。
根据需求,我们是要在到达节点“部门经理”之前的时候,决定哪个部门经理审批所以事件选择 create
(2)然后选择委托表达式,填写我们对于的任务监听器实现,这里填写${purchaseApplyListener)
(3)在Java代码中新建类:PurchaseApplyListener.java,代码如下,注意 @Component填写的值要跟委托表达式填写的一致
注意:下面代码只是简略示例,实际需要结合自身的业务逻辑做修改
@Component (value="purchaseApplyListener")
public class PurchaseApplylistener implements TaskListener{
	@0verride
	public void notify(DelegateTask delegateTask){
		//TODO 实现你的任务监听器逻辑
		List<String>users = new ArrayList<>();
		users.add("admin");//将admin加入审批
		delegateTask.addCandidateUsers(users);//给该节点添加候选审批用户
	}
}
 
                   
                   
                   
                   
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   4760
					4760
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            