转载来自:http://blog.youkuaiyun.com/rainier001/article/details/7033768
在jBPM内部通过各种服务相互作用。 服务接口可以从ProcessEngine中获得, 它是从Configuration构建的。
- 1. /*
- * RepositoryService 包含了用来管理发布资源的所有方法
- * 通过其addResourceFromClass方法, 流程定义XML的内容可以从文件, 网址,字符串,输入流或zip输入流中获得
- */
- RepositoryService repositoryService = processEngine.getRepositoryService();
- //进行实际发布
- repositoryService.createDeployment().addResourceFromClasspath("helloworld.jpdl.xml").deploy();
- //获取所有已发布流程列表
- List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list();
- /*
- * RepositoryService 包含了用来管理发布资源的所有方法
- * 通过其addResourceFromClass方法, 流程定义XML的内容可以从文件, 网址,字符串,输入流或zip输入流中获得
- */
- RepositoryService repositoryService = processEngine.getRepositoryService();
- //进行实际发布
- String deployId = repositoryService.createDeployment().addResourceFromClasspath("helloworld.jpdl.xml").deploy();
- System.out.println("deployid = " + deployId);
- //获取所有已发布流程列表
- List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list();
- System.out.println(list.size());
- /*
- * 删除一个流程定义会把它从数据库中删除。
- * 如果在发布中的流程定义还存在活动的流程实例, 这个方法就会抛出异常。
- * 如果希望级联删除一个发布中流程定义的 所有流程实例, 可以使用deleteDeploymentCascade
- */
- repositoryService.deleteDeploymentCascade(deployId);
- list = repositoryService.createProcessDefinitionQuery().list();
- System.out.println(list.size());