流程的启动:前提是已经完成部署工作
接下来我们启动流程
流程实例启动:
- 获取ProcessEngine对象
- 获取runtimeService对象
- 创建流程实例,流程定义的key需要知道
创建ActivitiStartInstance类
public class ActivitiStartInstance {
public static void main(String[] args) {
//1:定义ProcessEngine对象,自己封装的工具类也可以ProcessEngines.getDefaultProcessEngine();
ProcessEngine processEngine= ReturnProcessEngineUtil.getProcessEngine();
//2:获取runtimeService对象
RuntimeService runtimeService=processEngine.getRuntimeService();
//3:创建流程实例,流程定义的key需要知道
ProcessInstance processInstance=runtimeService.startProcessInstanceById("day:1:3");
//4:输出实例的相关信息
System.out.println("流程部署的ID:"+processInstance.getDeploymentId());
System.out.println("流程定义的ID:"+processInstance.getProcessDefinitionId());
System.out.println("流程实例的ID:"+processInstance.getId());
}
}
运行结果
流程部署的ID:null
流程定义的ID:day:1:3
流程实例的ID:2501
我们看下数据库被影响的表
- act_hi_actinst 已完成的活动信息
- act_hi_identitylink 参与者信息
- act_hi_procinst 流程实例
- act_hi_taskinst 任务实例
- act_ru_execution 执行表
- act_ru_identitylink 参与者信息
- act_ru_task 当前任务
act_hi_actinst表:已完成startEvent工作,现在轮到xiaoyi的任务,因为还没有完成,所以结束时间为null
act_hi_identitylink表:参与者xiaoyi
act_hi_procinst表:流程实例
act_hi_taskinst表:已经完成开始工作,现在轮到xiaoyi工作
act_ru_execution表:执行表,流程结束后会自动清空
act_ru_identitylink表:实例参与者表,流程结束后会自动清空
act_ru_task表:当前轮到xiaoyi执行吃饭的任务,xiaoyi执行完后会自动被覆盖掉,流程结束后自动清空