新闻详情

新闻详情

首页 / 资讯中心 / 详情

Flowable 监听器使用指南

发布时间:2026/11/6 18:24:58来源:尧图网络
Flowable 监听器使用指南
Flowable 监听器使用指南在 Flowable 流程引擎中监听器Listener是扩展流程行为的核心机制之一。它允许开发者在流程执行的特定时刻插入自定义逻辑而无需修改 BPMN 流程图本身。Flowable 主要提供两种监听器执行监听器ExecutionListener和任务监听器TaskListener。理解它们的区别和适用场景是用好 Flowable 的关键。一、执行监听器ExecutionListener执行监听器关注的是流程的流转而非用户任务本身。它监听的是流程实例在执行过程中的生命周期事件比如流程启动、节点进入、节点结束、连线被选中。触发事件类型执行监听器主要有三种事件事件触发时机适用元素start节点或流程开始执行时流程、活动节点end节点或流程执行结束时流程、活动节点take连线被选中通过时顺序流SequenceFlow需要注意start和end作用于流程实例和活动节点而take只对连线有效。可获取的值执行监听器的notify方法接收DelegateExecution对象通过它你可以访问getProcessInstanceId()— 流程实例 IDgetProcessDefinitionId()— 流程定义 IDgetCurrentActivityName()— 当前活动节点的名称getBusinessKey()/getProcessBusinessKey()— 流程实例的业务标识getVariable(String)/getVariables()— 读取流程变量getEventName()— 当前触发的事件名称getParentId()— 父执行 ID用于判断是否处于子流程中典型使用场景执行监听器适合处理流程级别的技术逻辑比如流程启动时初始化业务数据、节点结束时更新外部系统状态、连线被选中时记录流转日志等。由于它不直接关联用户任务因此无法获取任务级别的信息如候选人、办理人等。二、任务监听器TaskListener任务监听器专门针对用户任务监听任务自身的生命周期。如果说执行监听器关心的是“流程走到哪了”任务监听器关心的就是“任务发生了什么”。触发事件类型任务监听器的事件粒度更细事件触发时机create任务被创建所有属性设置完成后assignment任务被分配给某个办理人后complete任务完成、尚未从运行数据中删除时delete任务即将被删除前正常完成也会触发其中assignment事件在create之前触发这是因为引擎需要先确定办理人才能保证create时任务的所有属性都已就绪。可获取的值任务监听器接收DelegateTask对象它提供了丰富的任务级信息getId()— 任务 IDgetName()— 任务名称getDescription()— 任务描述getAssignee()— 当前办理人getOwner()— 任务所有者getProcessInstanceId()— 所属流程实例 IDgetExecutionId()— 关联的执行 IDgetProcessDefinitionId()— 流程定义 IDgetCreateTime()— 任务创建时间getDueDate()— 任务截止日期getPriority()— 任务优先级0-100getVariable(String)/getVariables()— 读取流程变量getEventName()— 触发监听器的事件名称getCandidates()— 候选人/候选组集合更重要的是DelegateTask提供了修改任务状态的能力setAssignee()可以动态指定办理人addCandidateUser()/addCandidateGroup()可以添加候选人或候选组setDueDate()可以设置截止时间。典型使用场景任务监听器最适合处理与用户任务紧密相关的逻辑。最经典的用法是动态分配审批人在任务create时根据表单字段或流程变量计算并设置任务的办理人。其他场景包括任务创建时发送通知、任务分配后记录操作日志、任务完成前校验数据完整性等。三、两者的核心区别理解这两种监听器的分工可以用一句话概括ExecutionListener 面向流程TaskListener 面向任务。维度ExecutionListenerTaskListener监听对象流程实例、活动节点、连线用户任务核心接口DelegateExecutionDelegateTask能否操作任务不能能设置办理人、候选人等能否获取任务信息不能能任务名称、办理人、截止日期等典型用途流程级业务逻辑、状态同步动态分配、通知、任务校验在选择时一个简单的判断标准是如果你的逻辑需要知道“谁在处理这个任务”或者“这个任务是什么”就用 TaskListener如果只关心“流程走到了哪个节点”用 ExecutionListener 即可。四、配置方式说明无论哪种监听器在 BPMN 中都有三种配置方式分别适用于不同的项目结构class 方式直接指定 Java 类的全限定名。适合简单的、无需依赖注入的场景。delegateExpression 方式使用${beanName}指向一个 Spring Bean。在 Spring Boot 项目中推荐这种方式因为可以方便地注入 Service、Repository 等组件。expression 方式直接写表达式如${myService.process(task)}。适合逻辑简单、单次调用的场景不建议在 expression 中写复杂业务逻辑。五、写在最后Flowable 的监听器机制本质上是一种事件驱动的扩展点。它把流程引擎的标准行为与业务自定义逻辑解耦开来引擎负责流转监听器负责在恰当的时机执行你的代码。用好监听器的关键在于选对类型。流程级的动作交给 ExecutionListener任务级的动作交给 TaskListener。如果混淆了两者轻则代码别扭重则出现“在 TaskListener 里拿不到节点信息”或者“在 ExecutionListener 里想改任务办理人改不了”的尴尬局面。希望这份指南能帮你理清 Flowable 监听器的使用脉络。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

【外设】之大彩串口显示屏 2026/11/6 6:37:16

【外设】之大彩串口显示屏

大彩串口屏初步使用 1 .官网下载 STM32 屏幕 GUI 设计资料 http://www.gz-dc.com/category/typeid/4112 找到 STM32 Keil 工程,移植相关代码因项目而异进行移植,由于项目简单,本人只对用到的指令接口进行修改。 比如:注意事项&…

阅读更多 →
无法下载Windows系统iso文件 2026/11/7 0:39:20

无法下载Windows系统iso文件

当我遇到这个问题的时候,我打开了一个网站: 登录 然后我打算下载的时候: 突然那个官方的连接就可以下载了:

阅读更多 →
【清华代码熊】DeepSeek V4.1 Flash 后训练详解 2026/11/7 6:36:21

【清华代码熊】DeepSeek V4.1 Flash 后训练详解

📌 上期解析了 DeepSeek V4.1 Flash 模型架构改进,本期解析 DeepSeek V4.1 Flash 预训练/后训练技术: 🌟 预训练:45T 文本 多模态混合语料、直接训练 sparse attention(取消 DeepSeek V4 的 dense 冷启动&…

阅读更多 →
Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ... 2026/11/6 17:25:36

Shuffle-R1: Efficient RL framework for Multimodal Large Language Models via Data-centric Dynamic ...

文章主要内容和创新点 主要内容 本文聚焦于多模态大语言模型(MLLM)强化学习(RL)训练中的效率问题,提出了一个名为Shuffle-R1的框架。研究发现,当前RL训练存在两个关键缺陷: 优势值坍缩(Advantage Collapsing):批次中大多数优势值集中在零附近,导致有效梯度信号被淹…

阅读更多 →
PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction 2026/11/6 14:29:05

PRvL: Quantifying the Capabilities and Risks of Large Language Models for PII Redaction

一、文章主要内容总结 本文聚焦于利用大型语言模型(LLMs)实现个人身份信息(PII)脱敏的研究,旨在解决传统脱敏方法(如基于规则的系统、领域特定命名实体识别(NER)模型)泛化能力差、跨格式/跨语境适应性弱的问题。 研究通过全面评估多种LLM架构(包括密集型LLM(D-LLM…

阅读更多 →
LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model 2026/11/6 14:29:07

LLaVA-RE: Binary Image-Text Relevancy Evaluation with Multimodal Large Language Model

文章主要内容和创新点 主要内容 本文聚焦于二进制图像-文本相关性评估任务(判断图像与文本“相关”或“不相关”),针对该任务中文本格式多样、相关性定义随场景变化等挑战,提出了基于多模态大语言模型(MLLM)的解决方案LLaVA-RE。 模型设计:LLaVA-RE基于LLaVA 1.5架构,…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉