flowable 任务监听器
背景:
我们做流程的是,任务监听是非常重要的一个组件,那么我们如何来制定任务监听器呢?
第一:任务监听有三种事件类型
1. create :在任务创建且所有任务属性设置完成之后才触发。
2.assignment :在任务被分配给某个班里人之后触发,它是在create事件触发前被触发。
3.complete:在配置了监听器的上一个任务完成是触发,也就是说运行期任务删除之前触发。
第二:任务监听器的三种监听器执行类型
1.class:需要类的全路径
实例:
public class StartTaskListener implements TaskListener { @Override public void notify(DelegateTask delegateTask) { logger.debug("调用了任务监听器"); } }
2.expression:定义一个表达式,类似EL的语法
3.delegateExpression:指的是一个实现监听接口
@Component(value = "taskBusinessCallListener") public class TaskBusinessCallListener extends BusinessCallListener implements TaskListener { /** * dubbo的类名 */ private FixedValue clazzName; /** * 方法名 */ private FixedValue method; /** * 版本号 */ private FixedValue version; /** * 参数 多个的话用分号隔开 实例 userCode:00004737;status:1 */ private FixedValue params; @Override public void notify(DelegateTask delegateTask) { String processInstanceId = delegateTask.getProcessInstanceId(); //执行回调 this.callBack(processInstanceId, clazzName.getExpressionText(), method.getExpressionText(), version.getExpressionText(), params.getExpressionText()); } }
【推荐】2025 HarmonyOS 鸿蒙创新赛正式启动,百万大奖等你挑战
【推荐】博客园的心动:当一群程序员决定开源共建一个真诚相亲平台
【推荐】开源 Linux 服务器运维管理面板 1Panel V2 版本正式发布
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· C23和C++26的#embed嵌入资源指南
· 「EF Core」框架是如何识别实体类的属性和主键的
· 独立开发,这条路可行吗?
· 我在厂里搞 wine 的日子
· 如何通过向量化技术比较两段文本是否相似?
· 他没买 iPad,而是花了半年时间,为所有“穷学生”写了个笔记神器
· 瞧瞧别人家的接口重试,那叫一个优雅!
· Visual Studio 现已支持新的、更简洁的解决方案文件(slnx)格式
· 只需一行命令,Win11秒变Linux开发主机!
· 上周热点回顾(7.7-7.13)