flowable全局监听器什么时候触发
时间: 2023-06-26 21:06:31 浏览: 104
Flowable 全局监听器是在 Flowable 引擎的生命周期内触发的。具体来说,当 Flowable 引擎启动时,会加载全局监听器,并在以下事件发生时触发:
1. 流程定义部署时触发事件
2. 流程实例创建时触发事件
3. 流程实例结束时触发事件
4. 任务创建时触发事件
5. 任务完成时触发事件
全局监听器可以用于处理整个流程的事件或特定事件的逻辑。例如,在流程实例结束时,可以使用全局监听器来发送电子邮件或记录流程数据等。
相关问题
flowable全局监听器
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 列表中,并将列表设置为流程引擎配置的事件监听器。
flowable 全局事件监听器有哪些
Flowable流程引擎提供了多种全局事件监听器,可以监听不同的事件类型,包括:
1. ProcessStartedEvent:流程实例启动时触发的事件。
2. ProcessCompletedEvent:流程实例结束时触发的事件。
3. ProcessCancelledEvent:流程实例取消时触发的事件。
4. TaskCreatedEvent:任务创建时触发的事件。
5. TaskAssignedEvent:任务分配时触发的事件。
6. TaskCompletedEvent:任务完成时触发的事件。
7. TaskCancelledEvent:任务取消时触发的事件。
8. JobCreatedEvent:作业创建时触发的事件。
9. JobFailedEvent:作业执行失败时触发的事件。
10. JobSuccessEvent:作业执行成功时触发的事件。
11. VariableCreatedEvent:流程变量创建时触发的事件。
12. VariableUpdatedEvent:流程变量更新时触发的事件。
13. VariableDeletedEvent:流程变量删除时触发的事件。
以上是常用的全局事件监听器类型,可以根据具体业务需求选择监听器类型,并实现相应的处理方法。
阅读全文