1.流程部署:
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment()
.addClasspathResource("org/activiti/test/VacationRequest.bpmn20.xml")
.deploy();
Log.info("Number of process definitions: " +
//因为一个xml中可以有多个流程定义,所以可以同时部署多个流程
repositoryService.createProcessDefinitionQuery().count());
2.启动流程实例
Map<String, Object> variables = new HashMap<String, Object>();
//需要保证map中的key值和流程图中定义的值名称相同
variables.put("employeeName", "Kermit");
variables.put("numberOfDays", new Integer(4));
variables.put("vacationMotivation", "I'm really tired!");
RuntimeService runtimeService = processEngine.getRuntimeService();
ProcessInstance processInstance = runtimeService.startProcessInstanceByKey("vacationRequest", variables);