Flowable中间事件-中间时间捕获事件

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



时间中间捕获事件


定义

定时中间事件指在流程中将一个定时器作为独立的节点来运行。定时中间事件是一个 Catching
事件,当流程到达定时中间事件节点的时候,就会启动一个定时器,一直等待被触发,只有当时间
到达了定时器触发,然后流程离开定时中间事件继续向下走。

图形标记

定时器中间事件显示成标准中间捕获事件,内部是一个定时器小图标,如图所示

在这里插入图片描述

XML内容

定时器中间事件定义为标准中间捕获事件,指定类型的子元素为 timerEventDefinition 元素:

<process id="timerIntermediateCatchingEventProcess">
 <intermediateCatchEvent id="timer">
     <timerEventDefinition>
        <timeDuration>PT5M</timeDuration>
     </timerEventDefinition>
 </intermediateCatchEvent>
 </process>

以上 xml 代码片段中加粗的部分定义了定时中间捕获事件 intermediateCatchEvent,它通过
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:置指定一个时间段之后执行。
     <startEvent id="timerStart">
        <timerEventDefinition>
            <timeDuration>PT1S</timeDuration>
        </timerEventDefinition>
    </startEvent>

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

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

3、通过 timeCycle 设置指定定时器的运行周期
     <startEvent id="timerStart">
        <timerEventDefinition>
            <timeCycle>R2/${EndDate}/PT1M</timeCycle>
        </timerEventDefinition>
    </startEvent>

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

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

操作界面

在这里插入图片描述

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

视频地址:

定时器中间捕获事件

演示demo

定时器中间捕获事件

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

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小学生05101

flowable

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

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

打赏作者

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

抵扣说明:

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

余额充值