启动流程实例之前需要先完成一下两部
1、先搭建activiti的环境 点我
2、部署流程定义点我
接下来才开始启动流程实例:
流程定义部署在 activiti 后就可以通过工作流管理业务流程了,也就是说上边部署的请假申请流
程可以使用了。
针对该流程,启动一个流程表示发起一个新的请假申请单,这就相当于 java 类与 java 对象的关
系,类定义好后需要 new 创建一个对象使用,当然可以 new 多个对象。对于请假申请流程,张三发
起一个请假申请单需要启动一个流程实例,请假申请单发起一个请假单也需要启动一个流程实例。
代码如下:
package com.wang;
import org.activiti.engine.ProcessEngine;
import org.activiti.engine.ProcessEngines;
import org.activiti.engine.RuntimeService;
import org.activiti.engine.runtime.ProcessInstance;
import org.activiti.engine.runtime.ProcessInstanceBuilder;
/**
* @Author WangTaiSheng
* @Date 2020/10/14 16:41
* @Version 1.0
*/
public class ActivitiStartInstance {
public static void main(String[] args) {
//得到p对象
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//得到RunS对象
RuntimeService runtimeService = processEngine.getRuntimeService();
//创建流程实例 流程定义的key需要先知道
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("myProcess_1");
//输出实例相关信息
System.out.println("流程部署的ID"+processInstance.getDeploymentId());
System.out.println("流程实例ID"+processInstance.getId());
}
}
下面来看看启动流程实例涉及到哪些数据表
- act_hi_actinst已完成的实例信息
- act_hi_identitylink 参与者信息
- act_hi_procinst 流程实例
- act_hi_taskinst 任务实例
- act_ru_execution 执行表
- act_ru_identitylink 参与者信息
- act_ru_task 任务
over!!!