003 流程部署
阿新 • • 發佈:2018-09-06
流程定義 都是 roc 源文件 進行 throw clas puts pat
一 .概述
在前面,我們畫出了基本的流程圖,如果我們想要使用這個流程圖鎖代表的流程,首先我們就需要對這個流程進行部署.
二 .流程部署
ProcessEngines.getDefaultProcessEngine() .getRepositoryService().createDeployment() .name("leave") .addClasspathResource("diagram/leave.bpmn") .addClasspathResource("diagram/leave.png") .deploy();
在上面的代碼之中,我們首先獲取到了流程部署對象,然後我們就可以盡心個流程的部署了.
在部署的時候,我們制定流程的名字,然後加載兩個資源文件,最後調用deploy()方法就完成了流程的部署了.
在部署完之後,我們看一下對activiti中表的改變.
首先會在act_re_deployment這個表中增加一條記錄.我們可以看到流程部署的名字和時間.
另外一個就是流程部署的文件信息,全部都會存儲在act_ge_bytearray表之中.
我們可以看到對應的兩個文件的信息.
然後,activiti會對我們的流程部署生成一個流程定義記錄.
在這裏我們能看到我們的流程的key,最重要的是我們可以看到一個版本號.
當我們再此部署的時候,只要名稱是一致的,就會升級版本號.
三 . 使用zip部署流程
在我們的web環境下,我們可以使用文件上傳的方式進行流程的部署.
@Test public void test2() throws FileNotFoundException{ // 現在我們使用zip的方式,將流程圖和流程定義文件一起打包為zip文件 ZipInputStream zipInputStream = new ZipInputStream(new FileInputStream("C:\\Users\\trek\\Desktop\\leave.zip")); ProcessEngines.getDefaultProcessEngine() .getRepositoryService() .createDeployment() .name("leave") .addZipInputStream(zipInputStream) .deploy(); }
我們將bomn文件和png文件打包稱為一個zip文件,然後使用上面的方式就可以重新部署一個新的流程.
在運行了上述的文件之後,我們看一下我們上面提到的版本號.
我們看到,流程的版本號升級了.以後,我們直接使用流程的key啟動的都是最新的流程.
003 流程部署