Activiti的中断和激活流程

一 代码

/**
* Copyright (C), 2020-2020, 软件公司
* FileName: SuspendProcess.java
* Author:   cakin
* Date:     2020/4/25
* Description: 中断和激活流程
*/
package com.syc.activiti.chapter9;

import lombok.extern.slf4j.Slf4j;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.impl.persistence.entity.ExecutionEntity;
import org.activiti.engine.runtime.ProcessInstance;

/**
* Copyright (C), 2020-2020, 软件公司
* FileName: SuspendProcess.java
* Author:   cakin
* Date:     2020/4/25
* Description: 中断和激活流程
*/
@Slf4j
public class SuspendProcess {


    public static void main( String[] args ) {
        // 创建流程引擎
        ProcessEngine engine = ProcessEngines.getDefaultProcessEngine();
        // 得到流程存储服务实例
        RepositoryService repositoryService = engine.getRepositoryService();
        // 得到运行时服务组件
        RuntimeService runtimeService = engine.getRuntimeService();
        // 部署流程描述文件
        repositoryService.createDeployment()
                .addClasspathResource("bpmn/chapter9/SuspendProcess.bpmn").deploy();
        // 开始流流程
        ProcessInstance pi = runtimeService
                .startProcessInstanceByKey("testProcess");

/************************************************************************************
mysql> select ID_, REV_,PROC_INST_ID_ ,BUSINESS_KEY_ ,PARENT_ID_ ,PROC_DEF_ID_ ,SUPER_EXEC_,ROOT_PROC_INST_ID_ ,ACT_ID_,SUSPENSION_STATE_ from act_ru_execution;
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| ID_    | REV_ | PROC_INST_ID_ | BUSINESS_KEY_ | PARENT_ID_ | PROC_DEF_ID_         | SUPER_EXEC_ | ROOT_PROC_INST_ID_ | ACT_ID_   | SUSPENSION_STATE_ |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| 210005 |    1 | 210005        | NULL          | NULL       | testProcess:1:210004 | NULL        | 210005             | NULL      |                 1 |
| 210006 |    1 | 210005        | NULL          | 210005     | testProcess:1:210004 | NULL        | 210005             | usertask1 |                 1 |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+

mysql> select * from act_re_deployment;
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| ID_    | NAME_ | CATEGORY_ | KEY_ | TENANT_ID_ | DEPLOY_TIME_            | ENGINE_VERSION_ |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| 210001 | NULL  | NULL      | NULL |            | 2020-04-25 19:38:42.019 | NULL            |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
1 row in set (0.00 sec)

mysql> select ID_,NAME_, KEY_, DEPLOYMENT_ID_,RESOURCE_NAME_,DGRM_RESOURCE_NAME_,SUSPENSION_STATE_ from act_re_procdef;
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| ID_                  | NAME_       | KEY_        | DEPLOYMENT_ID_ | RESOURCE_NAME_                    | DGRM_RESOURCE_NAME_                          | SUSPENSION_STATE_ |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| testProcess:1:210004 | testProcess | testProcess | 210001         | bpmn/chapter9/SuspendProcess.bpmn | bpmn/chapter9/SuspendProcess.testProcess.png |                 1 |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+

mysql> select ID_ ,REV_, EXECUTION_ID_, PROC_INST_ID_ , PROC_DEF_ID_, NAME_ , PARENT_TASK_ID_ , DESCRIPTION_ , TASK_DEF_KEY_ , OWNER_, ASSIGNEE_  from act_ru_task;
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| ID_    | REV_ | EXECUTION_ID_ | PROC_INST_ID_ | PROC_DEF_ID_         | NAME_      | PARENT_TASK_ID_ | DESCRIPTION_ | TASK_DEF_KEY_ | OWNER_ | ASSIGNEE_ |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| 210009 |    1 | 210006        | 210005        | testProcess:1:210004 | First Task | NULL            | NULL         | usertask1     | NULL   | NULL      |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
************************************************************************************/

        // 中断流程
        runtimeService.suspendProcessInstanceById(pi.getId());
        ExecutionEntity exe = (ExecutionEntity) runtimeService
                .createExecutionQuery().processInstanceId(pi.getId())
                .singleResult();
        log.info("中断后执行流状态:" + exe.isSuspended());

/************************************************************************************
mysql> select ID_, REV_,PROC_INST_ID_ ,BUSINESS_KEY_ ,PARENT_ID_ ,PROC_DEF_ID_ ,SUPER_EXEC_,ROOT_PROC_INST_ID_ ,ACT_ID_,SUSPENSION_STATE_ from act_ru_execution;
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| ID_    | REV_ | PROC_INST_ID_ | BUSINESS_KEY_ | PARENT_ID_ | PROC_DEF_ID_         | SUPER_EXEC_ | ROOT_PROC_INST_ID_ | ACT_ID_   | SUSPENSION_STATE_ |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| 210005 |    2 | 210005        | NULL          | NULL       | testProcess:1:210004 | NULL        | 210005             | NULL      |                 2 |
| 210006 |    2 | 210005        | NULL          | 210005     | testProcess:1:210004 | NULL        | 210005             | usertask1 |                 2 |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
2 rows in set (0.00 sec)

mysql> select * from act_re_deployment;
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| ID_    | NAME_ | CATEGORY_ | KEY_ | TENANT_ID_ | DEPLOY_TIME_            | ENGINE_VERSION_ |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| 210001 | NULL  | NULL      | NULL |            | 2020-04-25 19:38:42.019 | NULL            |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
1 row in set (0.00 sec)

mysql> select ID_,NAME_, KEY_, DEPLOYMENT_ID_,RESOURCE_NAME_,DGRM_RESOURCE_NAME_,SUSPENSION_STATE_ from act_re_procdef;
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| ID_                  | NAME_       | KEY_        | DEPLOYMENT_ID_ | RESOURCE_NAME_                    | DGRM_RESOURCE_NAME_                          | SUSPENSION_STATE_ |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| testProcess:1:210004 | testProcess | testProcess | 210001         | bpmn/chapter9/SuspendProcess.bpmn | bpmn/chapter9/SuspendProcess.testProcess.png |                 1 |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
1 row in set (0.00 sec)

mysql> select ID_ ,REV_, EXECUTION_ID_, PROC_INST_ID_ , PROC_DEF_ID_, NAME_ , PARENT_TASK_ID_ , DESCRIPTION_ , TASK_DEF_KEY_ , OWNER_, ASSIGNEE_  from act_ru_task;
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| ID_    | REV_ | EXECUTION_ID_ | PROC_INST_ID_ | PROC_DEF_ID_         | NAME_      | PARENT_TASK_ID_ | DESCRIPTION_ | TASK_DEF_KEY_ | OWNER_ | ASSIGNEE_ |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| 210009 |    2 | 210006        | 210005        | testProcess:1:210004 | First Task | NULL            | NULL         | usertask1     | NULL   | NULL      |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+

************************************************************************************/

        // 激活流程
        runtimeService.activateProcessInstanceById(pi.getId());
        exe = (ExecutionEntity) runtimeService.createExecutionQuery()
                .processInstanceId(pi.getId()).singleResult();
        log.info("激活后执行流状态:" + exe.isSuspended());
    }

/************************************************************************************
mysql> select ID_, REV_,PROC_INST_ID_ ,BUSINESS_KEY_ ,PARENT_ID_ ,PROC_DEF_ID_ ,SUPER_EXEC_,ROOT_PROC_INST_ID_ ,ACT_ID_,SUSPENSION_STATE_ from act_ru_execution;
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| ID_    | REV_ | PROC_INST_ID_ | BUSINESS_KEY_ | PARENT_ID_ | PROC_DEF_ID_         | SUPER_EXEC_ | ROOT_PROC_INST_ID_ | ACT_ID_   | SUSPENSION_STATE_ |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
| 210005 |    3 | 210005        | NULL          | NULL       | testProcess:1:210004 | NULL        | 210005             | NULL      |                 1 |
| 210006 |    3 | 210005        | NULL          | 210005     | testProcess:1:210004 | NULL        | 210005             | usertask1 |                 1 |
+--------+------+---------------+---------------+------------+----------------------+-------------+--------------------+-----------+-------------------+
2 rows in set (0.00 sec)

mysql> select ID_ ,REV_, EXECUTION_ID_, PROC_INST_ID_ , PROC_DEF_ID_, NAME_ , PARENT_TASK_ID_ , DESCRIPTION_ , TASK_DEF_KEY_ , OWNER_, ASSIGNEE_  from act_ru_task;
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| ID_    | REV_ | EXECUTION_ID_ | PROC_INST_ID_ | PROC_DEF_ID_         | NAME_      | PARENT_TASK_ID_ | DESCRIPTION_ | TASK_DEF_KEY_ | OWNER_ | ASSIGNEE_ |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
| 210009 |    3 | 210006        | 210005        | testProcess:1:210004 | First Task | NULL            | NULL         | usertask1     | NULL   | NULL      |
+--------+------+---------------+---------------+----------------------+------------+-----------------+--------------+---------------+--------+-----------+
1 row in set (0.00 sec)

mysql> select ID_,NAME_, KEY_, DEPLOYMENT_ID_,RESOURCE_NAME_,DGRM_RESOURCE_NAME_,SUSPENSION_STATE_ from act_re_procdef;
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| ID_                  | NAME_       | KEY_        | DEPLOYMENT_ID_ | RESOURCE_NAME_                    | DGRM_RESOURCE_NAME_                          | SUSPENSION_STATE_ |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
| testProcess:1:210004 | testProcess | testProcess | 210001         | bpmn/chapter9/SuspendProcess.bpmn | bpmn/chapter9/SuspendProcess.testProcess.png |                 1 |
+----------------------+-------------+-------------+----------------+-----------------------------------+----------------------------------------------+-------------------+
1 row in set (0.00 sec)

mysql> select * from act_re_deployment;
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| ID_    | NAME_ | CATEGORY_ | KEY_ | TENANT_ID_ | DEPLOY_TIME_            | ENGINE_VERSION_ |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
| 210001 | NULL  | NULL      | NULL |            | 2020-04-25 19:38:42.019 | NULL            |
+--------+-------+-----------+------+------------+-------------------------+-----------------+
1 row in set (0.00 sec)

************************************************************************************/
}

二 测试结果

中断后执行流状态:true
激活后执行流状态:false

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值