flowable入门(六)自定义任务节点全局监听

2021-10-18  本文已影响0人  走码人

直接上代码

一、实现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)在执行过程中就会触发此监听,无需再流程定义时绑定监听事件

缺点:增加了不必要的监听,影响程序的执行效率

上一篇 下一篇

猜你喜欢

热点阅读