Flowable边界事件-定时边界事件

✨✨✨ 最好用的Flowable流程设计器



定时边界事件


定义

定时器边界事件是附属在流程活动(如用户任务、系统任务、子流程)中的事件,当流程到达
了流程活动时,引擎会创建一个定时器,当定时器触发后,流程会沿定时边界事件的后继路线继续
执行

注意 使用定时器事件需要开启flowable的作业执行器 configuration.setAsyncExecutorActivate(true);

图形标记

定时边界事件是一个标准的边界事件(边界上的一个圆圈),内部是一个定时器小图标,如下图所示:

在这里插入图片描述

也分为中断和非中断的

XML内容

定时边界事件的 XML 内容是普通边界事件的声明,包含一个定时器事件子元素:

 <process id="timerBoundaryEventProcess">
    <userTask id="usertask1" name="审批"></userTask>
    <boundaryEvent id="timerBoundaryEvent" name="Timer" attachedToRef="usertask1" 
    cancelActivity="false"> 
     <timerEventDefinition> 
     <timeDuration>PT1M</timeDuration> 
     </timerEventDefinition> 
     </boundaryEvent>
 </process>

定义定时器的标签是<timerEventDefinition>...</timerEventDefinition>,它必须具有以下一个元
素:timeDate,timeDuration,timeCycle。

1. timeDate:设置在指定时间触发。
    <startEvent id="timerStart">
        <timerEventDefinition>
           <timeDate>2023-07-14T12:12:14</timeDate>
        </timerEventDefinition>
    </startEvent>

timeDate 是使用 ISO 8601 格式指定一个确定的时间来触发事件,以上配置表示流程会在 2023-07-14T12:12:14 启动起来。

注意:ISO8601 时间格式,如果要加时间需要前面加 T。

2、timeDuration:置指定一个时间段之后执行。

timeDuration 是指定定时器之前要等待多长时间。S 表示秒,M 表示分,D 表示天;P 表示时
间段,T 表示精确到时间的时间段。

注意:时间格式依然为 ISO 8601 格式,一年两个月三天四小时五分六秒内,可以写成
P1Y2M3DT4H5M6S,P 是开始标记,T 是时间和日期分割标记,没有日期只有时间 T 是不能省去
的,比如 1 小时执行一次应该写成 PT1H。

3、通过 timeCycle 设置指定定时器的运行周期

timeCycle 指定重复执行的间隔,可以用来定期启动流程实例。timeCycle 的设置目前有两种方
式:ISO 8601 和 Cron 表达式。R 表示需要执行的次数,R2/PT1M 表示执行两次,每次间隔 1 分钟。
其中 endDate 是可选的配置,定时器将会在指定的时间停止工作。

注意:使用定时器开始事件需要启动 JobExecutor

使用示例

设计一个客户投诉处理的流程,收到客户投诉,先由一线客服人员处理,如果超过 2 个小时一
线客服仍然未能办结,就交由二线客服人员处理,此时可以为一线客服的流程任务加入定时边界事
件。

界面操作

在这里插入图片描述

总结

时间达到预设的时间标准之后触发事件。

注意:边界事件中断和非中断 默认是中断事件 设置了属性cancelActivity="false"的时候为非中断事件
1、中断事件是中断当前的活动沿着事件触发
2、非中断事件是不影响当前活动,并沿着事件触发

欢迎加入QQ群学习交流:582010059

视频地址:

定时器中断开始事件
定时器非中断开始事件

演示demo

定时器边界事件

本文中内容和案例出自贺波老师的书《深入Activiti流程引擎:核心原理与高阶实战》,书中的介绍更全面、详细,推荐给大家。
深入Activiti流程引擎

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小学生05101

flowable

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值