【入门篇】Activiti流程实例启动

来源:互联网 发布:淘宝客服兼职工作 编辑:程序博客网 时间:2024/05/16 19:22

需求

对于部署好的流程,启动该流程,开始走业务流程,保证流程顺利完成的第一步就是开个好头

涉及到的activiti表

1.act_ru_execution插入一条数据,表明当前流程实例的当前状态(该哪一级执行了)

2.act_ru_task:插入一条当前执行任务实例

3.act_ru_identitylink:任务参与者数据表。主要存储当前节点参与者的信息。插入参与者信息

方案

根据流程定义标识key来,以来runtimeservice服务来启动该流程实例

代码

//启动流程实例,自动对第一个结点进行任务分配@Testpublic void startProcessInstance() {//得到runtimeServiceRuntimeService runtimeService = processEngine.getRuntimeService();//根据流程定义的key(标识)来启动一个实例,activiti找该key下版本最高的流程定义//一般情况下为了方便开发使用该方法启动一个流程实例String processDefinitionKey = "purchasingflow";ProcessInstance processInstance = runtimeService.startProcessInstanceByKey(processDefinitionKey);//根据流程定义的id来启动一个实例,这种方法一般不用//runtimeService.startProcessInstanceById(processDefinitionId);System.out.println("流程梳理所属流程定义id:" + processInstance.getProcessDefinitionId());System.out.println("流程实例的id:" + processInstance.getProcessInstanceId());System.out.println("流程实例的执行id:" + processInstance.getId());System.out.println("流程当前的活动(结点)id:" + processInstance.getActivityId());System.out.println("业务标识:" + processInstance.getBusinessKey());//System.out.println("流程变量:" + processInstance.getProcessVariables());}