需求
对于部署好的流程,启动该流程,开始走业务流程,保证流程顺利完成的第一步就是开个好头
涉及到的activiti表
1.act_ru_execution插入一条数据,表明当前流程实例的当前状态(该哪一级执行了)
2.act_ru_task:插入一条当前执行任务实例
3.act_ru_identitylink:任务参与者数据表。主要存储当前节点参与者的信息。插入参与者信息
方案
根据流程定义标识key来,以来runtimeservice服务来启动该流程实例
代码
//启动流程实例,自动对第一个结点进行任务分配
@Test
public void startProcessInstance() {
//得到runtimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
//根据流程定义的key(标识)来启动一个实例,activiti找该key下版本最高的流程定义
//一般情况下为了方便开发使用该方法启动一个流程实例
String processDefinitionKey = "purchasingflow";
ProcessInstance processInstance = runtimeService
.startProcessInstanceByKey(processDefinitionKey);
//根据流程定义的id来启动一个实例,这种方法一般不用
//runtimeService.startProcessInstanceById(processDefinitionId);
System.out.println("流程