1、本文用的项目是springboot2+activity6,下面的链接是我写的整合文章,有需要的可以点击观看。
2、定义定时器的标签是<timerEventDefinition>...</timerEventDefinition>,那怎么用这个标签呢?首先timerEventDefinition里面有个属性为businessCalendarName,这个属性是指向流程引擎配置中的业务日历的位置。如果想使用默认的业务日历,官方文档中是这样定义的:<timerEventDefinition activiti:businessCalendarName="custom">...</timerEventDefinition>
3、定时器必须具有以下一个元素:timeDate,timeDuration,timeCycle。timeDate表示何时触发触发器,例如:<timerEventDefinition> <timeDate>2019-07-13T17:45:38</timeDate></timerEventDefinition>需要注意这里的时间格式是ISO 8601固定格式
4、timeDuration表示定时器经过多少时间后触发触发器,例:<timerEventDefinition> <timeDuration>P3D</timeDuration></timerEventDefinition>时间格式依然为ISO 8601格式,一年两个月三天四小时五分六秒内,可以写成P1Y2M3DT4H5M6S,P是开始标记,T是时间和日期分割标记,没有日期只有时间T是不能省去的,比如1小时执行一次应该写成PT1H。
5、timeCycle表示重复触发触发器的间隔时间,该标签里面包含了endDate指的是某个时间让重复触发的失效(该属性为可选非必须的)。例如:<timerEventDefinition> <timeCycle activiti:endDate="2019-07-13T16:42:11+00:00">R3/PT4H</timeCycle></timerEventDefinition>或者<timerEventDefinition> <timeCycle>R3/PT10H/${EndDate}</timeCycle></timerEventDefinition>${EndDate}为变量。时间格式依然固定的ISO 8601格式,但是这个时间还支撑另外一种cron表达式的时间。R 表示永远重复;R1 - 重复一次;R231 - 重复231次。R3/PT10H表示重复3次每次间隔4小时