首页 > 其他分享 >camunda_17_listener

camunda_17_listener

时间:2022-10-09 15:36:16浏览次数:57  
标签:engine Listener Task Java 17 代码 listener camunda execution

Java 调用方式

对于内置流程引擎的应用, 可以在流程流转时调用 Java 逻辑, 最主要有三种形式的 Java 调用方式:

  • Java Delegate: Service Task 组件如选择 Java class, 即是 Java Delegate, 该类需要实现 JavaDelegate 接口
  • Execution Listener: 几乎所有组件可以增加 Execution Listener, 有 start 和 end 两个触发点, 该 Java 类需要实现 ExecutionListner 接口
  • Task Listener: 对于 User task 组件可以增加 Task Listener, 有 create/assignment/complete/delete/update/timeout 等多个触发点, 该 Java 类需要实现 TaskListener 接口, Task Listener 要比 Execution Listener 提供更详细的 runtime 信息.

代码范式

三种 Java 调用方式的代码实现类似, 都是实现指定的接口, 在代码中也遵循同样代码范式, 常用到的代码片段有:

  • 抛出Bpmn异常
  • 在执行过程中为 process设置更有意义的Business Key
  • 获取ProcessEngine和几个主要的服务, 完成更多操作.
	public void execute(DelegateExecution execution) throws Exception {
		ProcessEngine engine = execution.getProcessEngine();

		RepositoryService repService = engine.getRepositoryService();
		RuntimeService runtimeService = engine.getRuntimeService();
		FormService formService = engine.getFormService();
		HistoryService historyService = engine.getHistoryService();
		TaskService taskService = engine.getTaskService();
		ManagementService managementService = engine.getManagementService();
		execution.setProcessBusinessKey("some key");
		throw new BpmnError("some error");
	}

标签:engine,Listener,Task,Java,17,代码,listener,camunda,execution
From: https://www.cnblogs.com/harrychinese/p/camunda_17_listener.html

相关文章

  • 代码随想录day17 |110. 平衡二叉树 257. 二叉树的所有路径 404. 左叶子之和
    110.平衡二叉树题目|文章思路比较高度适合用后序遍历,前序遍历时间复杂度高。实现点击查看代码classSolution{public:boolisBalanced(TreeNode*root){......
  • Solution -「CSTC 2017」「洛谷 P3772」游戏
    \(\mathscr{Description}\)  有\(n\)个随机真值\(x_{1..n}\),已知\(P(x_1=1)=p_1\),对于\(2\lei\len\),\(P(x_i=1\midx_{i-1}=1)=p_i\),\(P(x_i=1\midx_{i......
  • camunda_15_oracle
    按照Camunda官方文档,生产环境优先推荐Oracle和Postgresql,当然MySQL和SQLServer也是支持的.官方参考架构文档前面博文已经介绍了使用Postgresql作为数据库,camund......
  • Leetcode 117 -- 树&&bfs
    题目描述填充每个节点的下一个节点题目要求我们填充每个节点的\(next\)指针,让它指向它的(同一层)右侧的节点,如果没有,指向$NULL,(初始时全部指向\(NULL\))。思路看到......
  • LeetCode算法笔记 217. 存在重复元素
    给你一个整数数组nums。如果任一值在数组中出现至少两次,返回true;如果数组中每个元素互不相同,返回false。示例1:输入:nums=[1,2,3,1]输出:true示例2:输入:nums=......
  • 牛客网高频算法题系列-BM17-二分查找-I
    牛客网高频算法题系列-BM17-二分查找-I题目描述请实现无重复数字的升序数组的二分查找给定一个元素升序的、无重复数字的整型数组nums和一个目标值target,写一个函......
  • heimaJava17
    javaIO流缓冲流概念缓存流也称为高效流、或者高级流。之前学习的字节流也可以称为原始流作用:缓冲流自带缓冲区、可以提高原始字节流、字符流读写数据的性能分类......
  • 乘风破浪,遇见云原生(Cloud Native)之Docker安装运行Elasticsearch v7.17.6/v8.4.3、Ki
    什么是Elasticsearchhttps://www.elastic.co/cn/elasticsearch/Elasticsearch是一个基于Lucene库的搜索引擎。它提供了一个分布式、支持多租户的全文搜索引擎,具有HTTP......
  • 【多项式】[LGP4173] 残缺的字符串
    【多项式】[LGP4173]残缺的字符串题意给定两个有通配符的字符串,跑字符串匹配。思路肯定不能用kmp(不要问为什么)。设\(A_{1:m}\)为模式串,\(B_{1:n}\)为文本串......
  • 2017
    分布式一致性哈希算法​​​http://www.javaranger.com/archives/1781​​......