activiti webservice task 的一个简单执行和配置实例
一、webservice的服务端简单实现
流程执行代码ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext("acitiviti.cfg.xml");RepositoryService repositoryService=(RepositoryService) applicationContext.getBean("repositoryService");RuntimeService runtimeService = (RuntimeService) applicationContext.getBean("runtimeService");IdentityService identityService=(IdentityService) applicationContext.getBean("identityService");repositoryService.createDeployment().addClasspathResource("calculator.bpmn20.xml").deploy();Map<String,Object> map=new HashMap<String,Object>();map.put("input1", 2); map.put("input2", 3);ProcessInstance pi=runtimeService.startProcessInstanceByKey("process1", map);System.out.println(pi.getId());TaskService taskService = (TaskService) applicationContext.getBean("taskService");taskService.claim("12", "yuyong");taskService.complete("12");int output = (Integer) runtimeService.getVariable("5", "output3");System.out.println(output);
map中传入的参数即开启一个流程实例传入的流程变量。也是 流程定义文件中定义的项目item。因为webservice task 无需人工驱动,流程执行到此task时,会自动执行。所以,执行完id为12的usertask后,自动执行了此webservice task。流程结束。