【2024】Camunda常用功能基本详细介绍和使用(业务决策和定时事件)-下(2)

前言

前面介绍了camunda的基本使用,该篇文章主要介绍camunda的一些进阶的东西,业务决策和定时边界事件的使用

该专栏主要为介绍camunda的学习和使用

Camunda使用

1、添加Business Rule Task绑定业务决策

DMN主要上Camunda用来管理业务决策使用的。详细的介绍上一篇文章已经介绍过了,这就不在赘述了。

  1. 选择Business Rule Task活动图标

在这里插入图片描述

  1. 指定好决策id
    决策id为下面添加的dmn的决策
    在这里插入图片描述

  2. 点击右上角添加一个DMN决策
    在这里插入图片描述

  3. 点击决策左上角表格添加决策详情表单

在这里插入图片描述

  1. 点击进入表单详情,可以看到Input和Output,分别表示输入和输出,可以点击+号添加多个输入和输出;下面表示接收的数据
    在这里插入图片描述

  2. 双击表头Input表头,可以添加输入的字段内容
    在这里插入图片描述

  3. 双击Output可以编辑输出的表单字段名称以及数据类型
    在这里插入图片描述

  4. 添加具体条件判断,因为填写的是表达式,表示前面传递过来的数据中,name字段如果是和 "wanwu" 匹配,则approved输出false,如果是和not("wanwu") 匹配则输出true
    在这里插入图片描述

  5. 最后和bpmn一样一起发送
    在这里插入图片描述

查看是否写入成功
在这里插入图片描述

  1. 添加一个活动数据进行测试,可以看到通过name会自动返回对应的结果
    经理审核后,就会经过业务决策活动
    在这里插入图片描述

我们在到刚刚到业务决策里面去查看对应的业务决策数据,就可以看到刚刚那条经过的活动数据
在这里插入图片描述
在点击这条活动的id,就可以看到这条活动的数据数据
在这里插入图片描述

2、添加Timer Boundary Event 定时边界事件

在Camunda BPM中,Timer Boundary Event(定时边界事件)是一种特殊的中间事件类型,它被附加到活动(通常是任务或子流程)边缘上。这个事件可以触发流程的中断或非中断行为,具体取决于它的设置

类型
定时边界事件可以配置以下几种类型:

  • 时间周期(Time Cycle) :基于某个周期性触发,如每天、每周、每月等。这在长期任务或重复事件中很常见。
  • 具体时间日期(Time Date) :在指定的一个具体日期和时间触发。对于有明确截止时间的任务很有用。
  • 持续时间(Duration) :定义了当前活动开始后经过一定时长后触发,如“3天后”或“1小时后”。适用于设置任务的有效期限。

示例用法

  • 超时处理:如果某个任务必须在特定时间内完成,可以设置一个Timer Boundary Event来在超时时自动中断任务,并按照新的流程逻辑进行提醒或自动处理。
  • 自动审批:对于某些非关键任务,可能会设置一个定时的边界事件,表示如果任务X天没有完成,则认为任务已经通过审批。
  • 提醒功能:可以非中断地提醒执行者任务将到期,但任务仍允许继续执行直到完成。

中断与非中断
Timer Boundary Event可以配置为:

  • 中断(Interrupting) :一旦事件触发,活动被中断,流程根据边界事件的输出连线继续执行。
  • 非中断(Non-Interrupting:当事件触发时,当前活动不会被中断,流程会同时沿边界事件的输出连线进行多个分支的执行。在流程设计中,这允许你设置多个并行的路径,直到原来的活动完成。

2.1、自动审批

  1. 添加事件
    我们可以添加一个总经理审批在自动审批前面,在这个总经理审批,添加一个中间事件,然后在给这个中间事件指定为定时边界事件
    在这里插入图片描述 指定定时边界事件
    在这里插入图片描述

  2. 添加表单
    给表单的数据设置都默认值在这里插入图片描述
    在这里插入图片描述

  3. 配置自动审批时
    在这里插入图片描述

    示例

    • R3/2022-03-11T12:13+01/PT5M :从2022年3月11号的12点这个时间开始,每过五分钟发送一次,总共重复3次(重复执行的选择cycle)。
    • R3/PT5M:从到这一步的活动时间开始过五分钟发送一次,总共重复3次。(重复执行的选择cycle)
    • 2022-03-11T12:13+01:指定的时间执行,(选择date)
    • 0 */5 * * * * :也可以使用Cron表达式(选择cycle)
    • P14D:14天后执行

    假如我们的业务要求是,经理2分钟不审批的话,就自动通过审批。则选择Duration,设置为
    PT3M,表示2分钟后执行
    在这里插入图片描述

  4. 测试数据
    我们先把流程部署保存,然后在添加一条数据,审批到这一步
    在这里插入图片描述
    我们可以查看jobs这个位置,表示定时边界事件执行的列表,表示05开始计时,两分钟之后自动审批,因为我们设置的是两分钟
    在这里插入图片描述
    当执行完之后,这条数据会被删除。
    在这里插入图片描述

2.2、超时处理

  1. 创建任务
    假如我们不想让马上存档,想过几分钟在存,我们可以在下面在加一个定时边界事件。
    在这里插入图片描述

  2. 把流程部署上去,然后在添加一条数据
    在这里插入图片描述

  3. 然后我们在经理审批掉,就可以看到,这个任务被卡在了定时事件这等待
    在这里插入图片描述

    时间已过,可以看到已经被放行到下一步去了
    在这里插入图片描述

2.3、提醒审批

  1. 添加非中止任务
    假如我们想如果经理不审批就一直提醒他,可以添加一个提醒的定时边界事件,通过cron表达式的方式。并且需要切换为一个非中断的定时边界事件,因为只是提醒,而不用去中断主线审批任务
    在这里插入图片描述

  2. 创建任务,设置配置

    使用cron表达式配置
    在这里插入图片描述

  3. 测试查看
    提交部署,添加一条数据测试,可以看到过了
    在这里插入图片描述

    可以看到,事件一到就会去重复的生成支线的提醒任务。并且不会把主线的审批任务关闭掉。
    在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值