工作流之Camunda开发记录(三)---- 监听器的基本使用

本文介绍了Camunda工作流中监听器的使用,包括启动、结束和执行监听器的配置方法,并通过XML示例展示了如何在节点上添加监听器。监听器的实现涉及自定义类,通过监听事件来跟踪流程状态,以便于错误排查和前端实时展示。同时,注意XML配置中`<bpmn:outgoing>`标签的位置,它必须在监听器之后。

前情纪要

前面我记录了camunda的基本使用
传送门
还有用户任务和服务任务 以及 全局变量的使用
传送门
目前camunda已经可以正常运行,但是不正常的时候我们怎么办,就需要用到监听,需要程序帮我们盯着他看,到底执行到哪了,到哪坏了,方便事后查错(ps:我就是干这个用)还有前端实时显示目前工作流执行情况

监听器简介

监听器顾名思义,就是监听的机器(/手动滑稽),言归正传 这里我用到的监听大概有三种
分别是
start:启动监听 不能加在序列流上面
end:结束监听 不能加在序列流上面
take:执行监听 只能加在序列流上面

设计概要

我前面有提到过 前端给我传他的json结构 我解析成camunda需要的结构,就在这个解析的过程添加监听器
下面我会列出单节点的监听以及部分代码

代码部分

首先我们先看一下xml文件的格式 我列出一个开始节点

   <bpmn:startEvent id="StartEvent_1">
   <-- 这里是监听器开始 -->
      <bpmn:extensionElements>
        <-- 这里是数组 可以加多个监听 -->
        <-- 其中class属性是监听器的实现类、event是监听类型 -->
        <camunda:executionListener class="com.****.workflow.listener.StartEndListener" event="start" />
      
【作品名称】:基于 Java+camunda实现的工作流设计 【适用人群】:适用于希望学习不同技术领域的小白或进阶学习者。可作为毕设项目、课程设计、大作业、工程实训或初期项目立项。 【项目介绍】: camunda中的特有概念: 【流程模板】:流程审批流所设定的流程模板,利用其本质为xml的特性可以反解析和解析 【流程key】:针对一个流程而言,修改更新等操作并不会影响key,流程key作为模板标记(举个栗子:流程key即为身份证号,婴儿版本的你,以及长大1.0版本的你共用同一个身份证号) 【流程id】:标记一个版本的模板,也是一个模板的唯一标记(举个栗子:婴儿版本的你名为yoyo,yoyo作为id即可标记某个具体版本的你) 【流程实例】:根据某一个模板,所创建的审批流实例,即真正运行起来的审批流 【流程task】:审批流实例中的审批任务,一个任务对应一个审批人的审批 【流程节点】:审批流中代表某一个流程中一个节点,一个节点可以对应多个审批人,即多个审批任务。(camunda中将任务节点也称作task,与用户任务不是一回事) camunda基本特性: 【版本化】:同一个模板,允许编辑,但每次编辑将产生一个新版本,旧版本依旧有效,因此不影响旧流程实例的正常运行,并不会因为模板更改而导致之前生成的流程遭到影响。 【参数实时化】:可以在流程创建时,向当前节点中写入参数(map),可以为全局参数,也可以为局部参数(本次开发中尚未用到),这些参数在流程的条件控制时可作为条件进行流程流转,值得注意的是,参数在每个节点都可更改,因此在提交时,即便无更改,也需要带上全部参数,否则参数将丢失。 【流程可更改】:在流程 【资源声明】:本资源作为“参考资料”而不是“定制需求”,代码只能作为参考,不能完全复制照搬。需要有一定的基础看懂代码,自行调试代码并解决报错,能自行添加功能修改代码。
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值