1.首先初始化工作流引擎
private ProcessEngine processEngine = null;
@Before
public void initProcessEngine() {
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.
createProcessEngineConfigurationFromResource("activiti.cfg.xml");
processEngine = configuration.buildProcessEngine();
}
2.部署流程实例
/*部署流程定义就是要将绘制的图形即流程定义( .bpmn)部署在工作流程引擎 activiti 中,方法*/
@Test
public void bushuTest() {
// 获取repositoryService
RepositoryService repositoryService = processEngine
.getRepositoryService();
//部署流程定义
Deployment deployment = repositoryService.createDeployment().addClasspathResource("diagram/holiday.bpmn")
.addClasspathResource("diagram/holiday.png")
.name("请假申请流程")
.deploy();
System.out.println("流程部署id =" + deployment.getId());
System.out.println("流程部署名称 = " + deployment.getName());
}
3.启动工作流实例
/*启动一个流程实例*/
@Test
public void startProcessEngine() {
//获取runtimeService
RuntimeService runtimeService =
processEngine.getRuntimeService();
//根据流程定义key启动流程
ProcessInstance processInstance =
runtimeService.startProcessInstanceByKey("holiday");
System.out.println("流程定义Id " + processInstance.getProcessDefinitionId());
System.out.println("流程实例Id" + processInstance.getProcessInstanceId());
System.out.println("当前流动Id" + processInstance.getActivityId());
}