您的位置: 首页> 后端语言> java Flowable总结-事件

java Flowable总结-事件

时间:2025-08-28 17:30:02 来源:互联网

事件简介

事件主要有开始事件、结束事件、边界事件、中间捕获事件

事件被分为两类:捕获(catching)与抛出(throwing)事件

事件总是图形化为圆圈

事件详细说明

开始事件:标志一个执行流的开始,是捕获事件

结束事件:标志一个执行流的结束,是抛出事件

边界事件:必须依附于流程元素中(子流程,任务节点等) 是个捕获事件

中间捕获事件:可以作为任务节点使用的。含有抛出事件和捕获事件

开始事件

分为空开始事件,消息开始事件,信号开始事件,定时器开始事件,错误开始事件。

空开始事件:

没有指定启动流程实例的触发条件。需要手动触发

processEngine.getRuntimeService().startProcessInstanceByKey("流程定义key");

定时开始事件

设置定时条件,到达指定条件执行,部署后将在act_ru_timer_job生成一条记录DUEDATE_ 为下次执行时间 需要设置

springProcessEngineConfiguration.setAsyncExecutorActivate(true);

也可以定义空开始事件,自己实现定时任务,定时任务触发时手动触发启动流程

参数说明:

timeDate:指定时间点执行 使用 ISO 8601编码

如:2011-03-11T12:13:14

<timerEventDefinition>
    <timeDate>2011-03-11T12:13:14</timeDate>
</timerEventDefinition>

timeDuration:指定要等待多长时间, timeDuration可以设置为timerEventDefinition的子元素。 使用ISO 8601格式 (由BPMN 2.0规定)。示例(等待10天)

<timerEventDefinition>
    <timeDuration>P10D</timeDuration>
</timerEventDefinition>

timeCycle

指定重复执行的间隔, 可以用来定期启动流程实例,或为超时时间发送多个提醒。 timeCycle元素可以使用两种格式。第一种是 ISO 8601 标准的格式。示例(重复3次,每次间隔10小时)

<timerEventDefinition>
    <timeCycle>R3/PT10H</timeCycle>
</timerEventDefinition>

cron格式

如每月月初启动一个任务

0 0 2 1 * ?
<startEvent id="sid-F50CF616-6666-42D7-8AF9-FF83B757AE66" isInterrupting="false">
      <timerEventDefinition>
        <timeCycle>0 0 2 1 * ?</timeCycle>
      </timerEventDefinition>
    </startEvent>

信号开始事件

当接收到某种信号时触发,信号和消息事件类似,区别在于信号是群发的特性,消息是一对一的。

触发有2种方式:

1.通过api触发

2.通过中间信号 抛出信号的方式触发

相关表: act_ru_event_subscr

上一篇:java Flowable总结-表结构 下一篇:java jackson总结

相关文章

相关应用

最近更新