Flowable 有如下方式部署流程:
```java
public interface DeploymentBuilder {
DeploymentBuilder addInputStream(String var1, InputStream var2);
DeploymentBuilder addClasspathResource(String var1);
DeploymentBuilder addString(String var1, String var2);
DeploymentBuilder addBytes(String var1, byte[] var2);
DeploymentBuilder addZipInputStream(ZipInputStream var1);
DeploymentBuilder addBpmnModel(String var1, BpmnModel var2);
```
<br/>
**1. `addClasspathResource`方法部署**
```java
@Test
public void addClasspathResourceTest() {
//獲取引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//獲取repositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
//部署流程
Deployment deployment = repositoryService.createDeployment()
.addClasspathResource("bpmn/evectionDeployment.bpmn")
.name("出差申請流程")
.key("evectionDeployment")
.category("業務類流程")
.deploy();
//流程部署key: evectionDeployment
System.out.println("流程部署key: " + deployment.getKey());
//流程類別: 業務類流程
System.out.println("流程類別: " + deployment.getCategory());
//流程部署Id: 90001
System.out.println("流程部署Id: " + deployment.getId());
//流程部署名稱: 出差申請流程
System.out.println("流程部署名稱: " + deployment.getName());
}
```
**2. `addZipInputStream`方法部署**
`addZipInputStream`以壓縮包的方式部署,可以一次性部署多個流程,它會自動掃描壓縮包文件里面的`.bpmn`、`.xml`文件。
```java
@Test
public void addZipInputStreamTest() {
//獲取流程引擎
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
//獲取RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
//讀取資源包文件
InputStream inputStream = this.getClass()
.getClassLoader()
//evectionZip.zip 中包含evectionZip001.bpmn、evectionZip002.bpmn 兩個流程文件。
.getResourceAsStream("bpmn/evectionZip.zip");
ZipInputStream zipInputStream = new ZipInputStream(inputStream);
//部署流程
Deployment deployment = repositoryService.createDeployment()
.addZipInputStream(zipInputStream)
.name("出差申請流程")
.key("evectionZip")
.category("業務類流程")
.deploy();
//流程部署key: evectionZip
System.out.println("流程部署key: " + deployment.getKey());
//流程類別: 業務類流程
System.out.println("流程類別: " + deployment.getCategory());
//流程部署Id: 100001
System.out.println("流程部署Id: " + deployment.getId());
//流程部署名稱: 出差申請流程
System.out.println("流程部署名稱: " + deployment.getName());
}
```
- Activiti流程引擎
- 工作流介紹
- Activiti是什么
- Activiti流程處理步驟
- Activiti環境搭建
- 搭建步驟
- 表結構介紹
- ActivitiAPI結構
- 認識流程符號
- 流程設計器的使用
- 流程處理步驟
- 亂碼問題
- 流程實例
- 流程實例是什么
- 業務標識
- 查詢流程實例
- 掛起/激活流程實例
- 個人任務
- 分配任務負責人
- 查詢待辦任務
- 辦理權限
- 流程變量
- 流程變量類型
- 流程變量作用域
- 使用流程變量控制流程
- 組任務
- 設置任務候選人
- 組任務辦理流程
- 網關
- 4種網關類型
- 排他網關
- 并行網關
- 包含網關
- 事件網關
- Spring整合Activiti
- SpringBoot整合Activiti
- Flowable流程引擎
- Flowable是什么
- Flowable與Activiti
- Flowable環境搭建
- FlowableAPI
- 流程引擎API與服務
- 流程處理步驟
- 流程部署
- 流程部署方式
- 流程定義版本
- 刪除已部署的流程
- 下載資源
- 流程實例
- 什么是流程實例
- 業務標識
- 查詢流程實例
- 掛起/激活流程實例
- 分配任務負責人
- 固定分配
- UEL表達式分配
- 監聽器分配
- 辦理權限
- 流程變量
- 流程變量類型
- 流程變量作用域
- 流程變量控制流程
- 組任務
- 設置任務候選人
- 組任務辦理流程
- 網關
- 排他網關
- 并行網關
- 包含網關
- 事件網關
- 歷史查詢
- 查詢歷史
- Spring整合Flowable
- 配置文件整合
- 配置類整合
- SpringBoot整合Flowable