JeecgBoot集成Activiti工作流实现定时器案例

概念

定时器事件(Timer Events) 是由定义的计时器触发的事件。它们可以用作启动事件、中间事件或边界事件。边界事件可以中断,也可以不中断。

Camunda定时器事件包括:Timer Start Event(定时启动事件)、Timer Intermediate Catching Event(定时中间捕获事件)、Timer Boundary Event(定时边界事件)。

在线体验不同定时器用法,请访问: JeecgBoot定制工作流<

注意事项

定时器事件用于在给定时间创建流程实例。它既可以用于应该只启动一次的进程,也可以用于应该在特定时间间隔内启动的进程。在使用时我们需要注意以下几点

  • 子流程不能有计时器启动事件。
  • 一旦部署了流程,计时器启动事件就会被调度。没有必要调用startProcessInstanceBy...,尽管调用start进程方法是不受限制的,并且会导致在startProcessInstanceBy的时候再次启动进程...调用。
  • 当部署带有定时器启动事件的流程的更新版本时,上一版本的定时器作业会被移除。这是因为通常并不希望旧版本的流程仍然自动启动新的流程实例。

时间定义

timeDate元素

该元素用于在指定时间触发定时器事件。timeDate是使用ISO 8601格式指定的开始时间。

xml 复制代码
<bpmn:timerEventDefinition id="TimerEventDefinition_14ilbim">
    <bpmn:timeCycle xsi:type="bpmn:tFormalExpression">R2/2022-02-11T09:07/PT1M</bpmn:timeCycle>
</bpmn:timerEventDefinition>

表示流程将于2022年2月11日09:07(24小时制)开始,以1分钟为间隔,共启动2次。

timeDuration元素

该元素用于指定某一时间段后触发定时器事件。

xml 复制代码
<bpmn:timerEventDefinition id="TimerEventDefinition_1epfipx">
    <bpmn:timeDuration xsi:type="bpmn:tFormalExpression">PT3M</bpmn:timeDuration>
</bpmn:timerEventDefinition>

表示流程在任务一节点超时3分钟未处理将自动流转。

timeCycle元素

该元素用于指定定时器触发周期,timeCycle目前有两种设置方式: ISO 8601和Cron表达式

xml 复制代码
<bpmn:timerEventDefinition id="TimerEventDefinition_1epfipx">
    <bpmn:timeCycle>R2/PT1M</bpmn:timeCycle>
</bpmn:timerEventDefinition>

执行2次,每次间隔1分钟

开始事件

定时用于开始事件,在业务中经常会使用。 需要注意的是定时器开始事件不能用于子流程。

中间事件

在开始事件和结束事件之间发生的事件称为中间事件,定时器中间捕获事件指在流程中将一个定时器作为独立的节点来运行,是一个捕获事件。当流程流转到定时器中间捕获事件时,会启动一个定时器,并一直等待触发,只有到达指定时间定时器才被触发。

申请出库提交后,等待30分钟,进行出库处理。在线演示

边界事件

充当秒表和闹钟。当执行到达附加边界事件的活动时,计时器就会启动。当计时器触发时(例如,在指定的时间间隔之后),活动被中断,然后序列流离开计时器边界事件。中断和非中断计时器事件是有区别的。缺省情况下为中断事件。非中断事件导致原来的活动不被中断,该活动保持在那里。相反,将创建一个额外的执行并在事件的传出转换中发送。

经理审批在30分钟未执行,系统将发送通知,流程不中断。 经理审批通过后,进入财务审批阶段,如果30分钟未完成审批,流程将流转到实习生节点,并且中断主流程。JeecgBoot定制工作流

相关推荐
RuoyiOffice1 天前
SpringBoot3+Vue3 低代码业务表单:从拖拽设计、独立建表到审批与数据查询
spring boot·vue3·数据建模·flowable·版本管理·低代码表单·ruoyi office
阿钱真强道1 天前
18 嵌入式操作系统 | uloop 定时器:周期任务与网络上报
c语言·定时器·周期任务·uloop
晊晌_h2 天前
IMX6ULL裸机开发:定时器(GPT/EPIT)与UART串口
arm·定时器·arm裸机开发
AAA代码批发商8 天前
Days 50 51 单片机与 i.MX6ULL 定时器对比:Timer、EPIT、GPT 原理与实验
51单片机·定时器·imx6ull·裸机开发
捷瑞电子工坊9 天前
蓝桥杯嵌入式STM32G431定时器入门:从原理到CubeMX配置(LL库)
cubemx·定时器·定时中断·led闪烁·蓝桥杯嵌入式·stm32g431·ll库
大龄码农有梦想9 天前
企业工作流系统如何设计用户、部门、角色、岗位、动态关系五类流程办理人?
工作流引擎·flowable·流程引擎·oa·工作流系统·选人规则·bpm平台
李少兄10 天前
解决Activiti排他网关(ExclusiveGateway)陷入无限死循环问题
activiti
RuoyiOffice11 天前
SpringBoot3+Vue3 流程抄送已读:打开详情消红点,待办与知会怎么分开
spring boot·vue3·flowable·spring boot 3·ruoyi office·流程抄送·已读回执
大龄码农有梦想12 天前
开源流程引擎 Camunda 如何实现任意节点跳转?
工作流引擎·流程引擎·camunda·oa·bpn·流程跳转·会签
RuoyiOffice13 天前
SpringBoot3+Vue3+Flowable 企业审批平台全链路:从表单设计、节点权限到移动审批怎么落地
spring boot·vue3·uniapp·springboot3·flowable·审批系统·ruoyi office