java时间触发事件-定时器事件定义中的流程启动流程(测试发布流程)
发布时间:2023-07-10 10:02 浏览次数:次 作者:佚名
文章目录
简介
版权声明:本文为CSDN博主「司马缸砸缸了」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接
定时器事件是根据指定的时间触发的事件。可以用于 开始事件,中间事件 或 边界事件。
<timerEventDefinition>
<timeDate>2011-03-11T12:13:14</timeDate>
</timerEventDefinition>
<timerEventDefinition>
<timeDuration>P1D</timeDuration>
</timerEventDefinition>
<timerEventDefinition>
<timeCycle>R3/PT10H</timeCycle>
</timerEventDefinition>
或者,你可以使用cron表达式指定timeCycle,下面的例子是从整点开始,每5分钟执行一次:
0 0/5 * * * ?
也可以在定时器事件定义中使用表达式,这样你就可以通过流程变量来影响那个定时器定义。 流程定义必须包含ISO 8601(或cron)格式的字符串,以匹配对应的时间类型。
<boundaryEvent id="escalationTimer" cancelActivity="true" attachedToRef="firstLineSupport">
<timerEventDefinition>
<timeDuration>${duration}</timeDuration>
</timerEventDefinition>
</boundaryEvent>
定时器边界事件
定时边界事件就是一个暂停等待警告的时钟。当流程执行到绑定了边界事件的环节, 会启动一个定时器。定时器边界事件存在可中断与不可中断两类,可以为boundaryEvent元素设置cancelActivity属性,如果设置为true,那么原来的执行流将会被中断,设置为false,则原来的执行流仍然存在。定时器边界事件在一些限时场景比较合适,例如:一个任务先是由初级工程师处理,当初级工程师1分钟后还没处理完成,就交给高级工程师处理。
设计流程图
测试
发布流程
启动流程(测试查询指定用户任务java时间触发事件java时间触发事件,睡眠一分钟后,再次查询任务)
当超时之后,act_ru_timer_job表中的记录会消失
act_ru_task表中的初级工程师会消失,更换为高级工程师
具体流程细节如下
到这里定时边界事件测试完毕。