当前位置: 首页 > news >正文

camunda流程引擎的插件如何使用

camunda工作流引擎是一个开放的架构,除了流程引擎默认提供的功能外,开发者可以通过流程插件机制,对流程引擎功能进行扩展流程引擎插件是流程引擎配置的扩展。插件必须提供 ProcessEnginePlugin 接口的实现。

下面以全局任务事件监听器为例说明插件如何使用:

流程引擎支持定义两种类型的事件监听器:任务事件监听器Task Event Listener和执行事件监听器Execution Event Listener。任务事件监听器允许对任务事件做出反应(任务被创建、分配、完成)。执行监听器允许对图表中执行过程中触发的事件做出反应:活动已开始、结束和正在进行转换。

除了在 BPMN 2.0 XML 中显式配置的执行和任务侦听器之外,流程应用程序 API 支持定义全局 ExecutionListener 和全局 TaskListener,它们会收到有关流程应用程序部署的流程中发生的所有事件的通知:

@ProcessApplication
public class InvoiceProcessApplication extends ServletProcessApplication {public TaskListener getTaskListener() {return new TaskListener() {public void notify(DelegateTask delegateTask) {// handle all Task Events from Invoice Process}};}public ExecutionListener getExecutionListener() {return new ExecutionListener() {public void notify(DelegateExecution execution) throws Exception {// handle all Execution Events from Invoice Process}};}
}

要使用全局流程应用事件监听器,您需要激活相应的流程引擎插件

<process-engine name="default">...<plugins><plugin><class>org.camunda.bpm.application.impl.event.ProcessApplicationEventListenerPlugin</class></plugin></plugins>
</process-engine>

camunda流程平台的插件机制是一个很强大的功能,在实际业务中,有很多需求都可以使用插件实现,比如:

  1. LDAP 身份服务插件
  2. 管理员授权插件
  3. 流程应用程序事件监听器插件
  4. 邮件、短信发送插件
  5. 任务办理预警、超时提醒插件

http://www.lryc.cn/news/320337.html

相关文章:

  • Vue打包问题汇总:legacy、runtime.js
  • 挑战杯 车位识别车道线检测 - python opencv
  • c++面经
  • js中副作用的消除还解决了并行计算带来的竞争问题,具体是如何解决的
  • 3/14/24数据结构、线性表
  • 软件测试面试200问,面试看这就够了。。。
  • 力扣● 583. 两个字符串的删除操作 ● 72. 编辑距离 ● 编辑距离总结篇
  • Git速成
  • 一文看懂softmax loss
  • 用C语言链表实现图书管理
  • Hello,Spider!入门第一个爬虫程序
  • AI实景无人自动直播间怎么搭建?三步教你轻松使用
  • wechaty微信机器人,当机器人被@时做出响应
  • 8.6 Springboot项目实战 Spring Cache注解方式使用Redis
  • rust引用本地crate
  • 分布式(计算机算法)
  • CSS概念及入门
  • 用 C 语言模拟 Rust 的 Result 类型
  • git基础命令(四)之分支命令
  • redis瘦身版
  • 使用ChatGPT高效完成简历制作[中篇]-有爱AI实战教程(五)
  • 论文阅读——SpectralGPT
  • Redis的过期键是如何处理的?过期键的删除策略有哪些?请解释Redis的内存淘汰策略是什么?有哪些可选的淘汰策略?
  • 软件测试方法 -- 等价类边界值
  • LeetCode——贪心算法(Java)
  • 【MySQL】2. 数据库基础
  • 《如何使用C语言去下三子棋?》
  • Linux——线程(4)
  • vite+vue3项目中svg图标组件封装
  • 根据服务器系统选择对应的MySQL版本