直接上代码
一、实现FlowableEventListener
public class UserTaskEventListener implements FlowableEventListener {
private final static BaseLogger LOGGER = LoggerFactory.getLogger(ProcessEventListener.class);
@Override
public void onEvent(FlowableEvent event) {
FlowableEventType eventType = event.getType();
LOGGER.info(">>执行 全局监听 --》 UserTaskCompleteListener eventType={}", eventType.name());
// 此处增加业务处理代码
}
@Override
public boolean isFailOnException() {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean isFireOnTransactionLifecycleEvent() {
// TODO Auto-generated method stub
return false;
}
@Override
public String getOnTransaction() {
// TODO Auto-generated method stub
return null;
}
}
二、启动时注入
// 设置全局监听类
List<FlowableEventListener> eventListeners = new ArrayList<FlowableEventListener>();
// eventListeners.add(new AutoCompleteFirstTaskListener());
LOGGER.info("注册全局监听类-UserTaskEventListener");
eventListeners.add(new UserTaskEventListener());
processEngineConfiguration.setEventListeners(eventListeners);
这样任务节点(usertask)在执行过程中就会触发此监听,无需再流程定义时绑定监听事件
缺点:增加了不必要的监听,影响程序的执行效率
网友评论