Activiti资料收集

源代码:

https://github.com/yuanqixun/activiti-modeler.git

一) 流程的暂停与激活:
注:流程的暂停与激活状态只会保存在流程定义或流程实例表中的 SUSPENSION_STATE_字段中,其他表是没有任何记录此状态信息的。
1) 使用 RuntimeService 暂停或激活流程实例
1.1) void suspendProcessInstanceById(String processInstanceId);
暂停流程时,只会暂停指定的实例,实例对应的 流程或主流程均不会被关联暂停 ,如果找不到或流程已经处于暂停状态则抛异常.如异常范例如下:
org.activiti.engine.ActivitiException: Cannot set suspension state 'suspended' for ProcessInstance[3504]': already in state 'suspended'.
执行此方法将会更新 ACT_RU_EXECUTION.SUSPENSION_STATE_ 字段的值为2.

1.2) void activateProcessInstanceById(String processInstanceId);
重新激活流程时也不会激活 对应的子流程或主流程,如果找不到或流程已经处于活动状态则抛异常;

1.3) 查询
ProcessInstanceQuery.active();
-- 使用此方法会同时查询 ACT_RE_PROCDEF表的状态,只有流程定义和流程实例均处于活动状态,才将此流程实例当成活动状态处理,因为其查询语句为:
select ... from ACT_RU_EXECUTION E
inner join ACT_RE_PROCDEF P on E.PROC_DEF_ID_ = P.ID_
WHERE ... and ((E.SUSPENSION_STATE_ = 1) and (P.SUSPENSION_STATE_ = 1))

ProcessInstanceQuery.suspended();
-- 使用此方法会同时查询 ACT_RE_PROCDEF表的状态,如果流程定义表已经为暂停状态,就算流程实例处于活动状态,也将此流程实例当成是处于暂停状态处理,因为其查询语句为:
select ... from ACT_RU_EXECUTION E
inner join ACT_RE_PROCDEF P on E.PROC_DEF_ID_ = P.ID_
WHERE ... and ((E.SUSPENSION_STATE_ = 2) or (P.SUSPENSION_STATE_ = 2))

1.4) 相关数据定义
ACT_RU_EXECUTION.SUSPENSION_STATE_: 1-激活, 2-暂停
Java中类 org.activiti.engine.impl.persistence.entity.SuspensionState 定义了相应状态的值

2) 使用 RepositoryService 暂停或激活流程定义
2.1) void suspendProcessDefinitionById(String processDefinitionId);
2.2) void suspendProcessDefinitionById(String processDefinitionId);
2.3) void activateProcessDefinitionById(String processDefinitionId);
2.4) void activateProcessDefinitionByKey(String processDefinitionKey);
2.5) 查询
ProcessDefinitionQuery.active();
ProcessDefinitionQuery .suspended();
2.6) 相关数据定义
ACT_RE_PROCDEF.SUSPENSION_STATE_: 1-激活, 2-暂停
Java中类 org.activiti.engine.impl.persistence.entity.SuspensionState 定义了相应状态的值
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值