一、流程部署
1、流程引擎获取
ProcessEngine processEngine = new Configuration()
.setResource("my-own-configuration-file.xml")
.buildProcessEngine();
实际开发中我们一般通过spring配置文件通过相关方法获取。
2、根据流程引擎获取相应地webservice服务。
RepositoryService repositoryService = processEngine.getRepositoryService();
ExecutionService executionService = processEngine.getExecutionService();
TaskService taskService = processEngine.getTaskService();
HistoryService historyService = processEngine.getHistoryService();
ManagementService managementService = processEngine.getManagementService();
3、部署流程
RepositoryService 包含了用来管理发布资源的所有方法。在第一个例子中,我们会使用
RepositoryService 从classpath 中部署一个流程资源。
String deploymentid = repositoryService.createDeployment()
.addResourceFromClasspath("org/jbpm/examples/services/Order.jpdl.xml")
.deploy();
二、流程实例管理
1、启动一个流程实例
下面是为流程定义启动一个新的流程实例的最简单也是最常用的方法:
ProcessInstance processInstance = executionService.startProcessInstanceByKey("ICL");
上面service 的方法会去查找key 为ICL 的最新版本的流程定义, 然后在最新的流程定义里启动
流程实例。
当insurance claim 流程部署了一个新版本, startProcessInstanceByKey 方法会自动切换到最
新部署的版本。
2、删除实例
executionService.deleteProcessInstanceCascade(processInstance.getId());
3、终止流程
executionService.endProcessInstance(processInstance.getId(), "cancle");