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