flowable监听器
时间: 2023-08-27 13:06:39 浏览: 173
Flowable 监听器是 Flowable 框架中的一种机制,用于在流程执行过程中监听和处理事件。它可以帮助我们实现对流程中各个节点的监控、拦截和干预操作。
在 Flowable 中,监听器主要包括全局监听器和节点监听器:
1. 全局监听器(Global Listeners):全局监听器是指对整个流程进行监听的监听器,可以捕获流程的开始、结束、异常等事件。我们可以通过实现 org.flowable.engine.delegate.event.FlowableEventListener 接口来创建全局监听器,并配置到流程引擎中。
2. 节点监听器(Execution Listeners):节点监听器是指对具体节点进行监听的监听器,可以捕获节点的创建、完成、出错等事件。我们可以通过实现 org.flowable.engine.delegate.ExecutionListener 接口来创建节点监听器,并配置到流程定义的 XML 文件或者使用 Java 代码动态绑定。
使用监听器可以完成一系列的操作,比如记录日志、发送通知、权限验证、数据处理等。通过监听器,我们可以灵活地扩展和定制 Flowable 框架的功能,以满足具体业务需求。
需要注意的是,在使用监听器时,要谨慎处理事件触发的顺序和执行逻辑,避免出现死循环或者影响流程正常进行的情况。
相关问题
flowable 监听器
Flowable 监听器包括 ExecutionListener 和 TaskListener。 ExecutionListener 是针对整个流程实例的事件监听器,它可以监听流程实例的启动、结束、活动开始、活动结束、连线选择等事件。 ExecutionListener 的事件类型和执行时机是固定的,通常用于处理与流程实例相关的事件。 TaskListener 则是针对任务的事件监听器,它可以监听任务的创建、分配、完成、删除等事件。 TaskListener 可以直接访问任务相关的信息,例如任务的候选人、任务的执行者等。因此,TaskListener 更适用于处理与任务相关的事件。 <span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Flowable监听器](https://blog.csdn.net/weixin_43476020/article/details/128916022)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [Flowable 任务监听器与执行监听器](https://blog.csdn.net/ww2651071028/article/details/130383810)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
flowable 监听器注册
在 Flowable 中,可以使用以下两种方式注册监听器:
1. 使用 Java 代码注册监听器
可以通过实现 `org.flowable.engine.delegate.event.FlowableEventListener` 接口并将其注册到 `org.flowable.engine.ProcessEngineConfiguration` 中来监听事件。
```java
public class MyEventListener implements FlowableEventListener {
@Override
public void onEvent(FlowableEvent event) {
// 处理事件
}
@Override
public boolean isFailOnException() {
return false;
}
@Override
public boolean isFireOnTransactionLifecycleEvent() {
return false;
}
}
```
```java
ProcessEngineConfiguration processEngineConfiguration = ProcessEngineConfiguration.createStandaloneProcessEngineConfiguration();
processEngineConfiguration.setFlowableEventListener(new MyEventListener());
ProcessEngine processEngine = processEngineConfiguration.buildProcessEngine();
```
2. 使用配置文件注册监听器
可以在 `flowable.cfg.xml` 配置文件中配置监听器。
```xml
<flowable>
<event-listeners>
<event-listener class="com.example.MyEventListener"/>
</event-listeners>
</flowable>
```
阅读全文