2023年11月29日发(作者:)

activiti学习笔记(九)RuntimeService

RuntimeService 流程运⾏控制服务

启动流程及对流程数据的控制

流程实例(ProcessInstance)与执⾏流(Execution)的查询

触发流程操作,接收消息和信号

RuntimeService启动流程及变量管理

启动流程的常⽤⽅法(id,key,message)

启动流程可选参数(businessKey,variables,tenantId)

变量(variables)的设置和获取

⽰例

RuntimeService runtimeService = timeService();

// 根据流程定义id启动流程实例

流程实例ProcessInstance表⽰⼀次⼯作流业务的数据实体

执⾏流Execution表⽰流程实例中的具体⼯作路径

ProcessInstance类继承Execution类

流程触发

使⽤trigger触发ReceiveTask节点

触发信号捕获事件signalEventReceived

触发消息捕获事件 messageEventReceived

流程触发⽰例

⾸先编写流程⽂件如下

情。如果给开始事件添加了⼀个事件定义(⽐如定时器事件定义)我们就声明了开始流程的事件 “类型 ” (这时定时器事件监听器会在某个时

间被触发)。⽐如错误事件定义(Error Event Definitions)由指定错误触发的。另外还有Signal Event Definitions即信号事件定义。

信号事件

信号事件会引⽤⼀个已命名的信号。信号全局范围的事件(⼴播语义)。 会发送给所有激活的处理器。

信号事件定义使⽤ signalEventDefinition 元素。 signalRef 属性会引⽤ definitions 根节点⾥定义的 signal ⼦元素。

⽰例,⾸先看下流程定义⽂件xml: