flowable全局监听器
时间: 2023-06-26 08:06:33 浏览: 82
Flowable 全局监听器可以用于监听所有流程引擎实例中的事件。全局监听器必须实现 org.flowable.common.engine.api.delegate.event.FlowableEventListener 接口,并且注册到流程引擎配置中。当事件发生时,监听器将被触发并执行特定的业务逻辑。
以下是一个简单的 Flowable 全局监听器示例:
```java
public class MyGlobalEventListener implements FlowableEventListener {
@Override
public void onEvent(FlowableEvent event) {
// 处理事件
System.out.println("Event received: " + event.getType());
}
@Override
public boolean isFailOnException() {
return false;
}
@Override
public boolean isFireOnTransactionLifecycleEvent() {
return false;
}
}
```
在上面的示例中,onEvent() 方法处理监听到的事件。isFailOnException() 方法返回 false,表示如果监听器出现异常,流程引擎仍将继续执行。isFireOnTransactionLifecycleEvent() 方法也返回 false,表示不监听事务生命周期事件。
要将全局监听器注册到流程引擎配置中,可以使用以下代码:
```java
ProcessEngineConfiguration config = ProcessEngineConfiguration.createProcessEngineConfigurationFromResourceDefault();
config.setAsyncExecutorActivate(false);
List<FlowableEventListener> eventListeners = new ArrayList<>();
eventListeners.add(new MyGlobalEventListener());
config.setEventListeners(eventListeners);
```
在上面的示例中,将 MyGlobalEventListener 添加到 eventListeners 列表中,并将列表设置为流程引擎配置的事件监听器。