《Activiti /Flowable 深入BPM工作流》---如何通过压缩包方式部署?
一. 问题
前面小编介绍了: 如何通过接口进行对流程定义的部署? 今天小编将介绍一下怎么通过压缩包的方式进行部署.
什么是流程定义的部署?---怎么通过压缩包方式部署
二. 详情
将 holiday .bpmn 和 holiday .png 压缩成 zip 包。
/**
* 通过 zip方式进行部署流程定义
*/
@Test
public void deployProcessByZip() {
// 1.建立配置文件链接
ProcessEngineConfiguration configuration = ProcessEngineConfiguration
.createProcessEngineConfigurationFromResource("activiti.cfg.xml");
// 2.创建引擎
ProcessEngine processEngine = configuration.buildProcessEngine();
// 3.定义zip输入流
InputStream inputStream = this
.getClass()
.getClassLoader()
.getResourceAsStream("studentHoliday.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
// 4.获取repositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
// 5.流程部署
Deployment deployment = repositoryService.createDeployment()
.addZipInputStream(zipInputStream)
.name("学期请假流程2")
.deploy();
System.out.println("流程部署Id: " + deployment.getId());
System.out.println("流程部署名称:" + deployment.getName());
}
执行此操作后 activiti会将上边代码中指定的bpm 文件和图片文件保存在 activiti数据库。