activiti7+springboot2.1.x查看資源文件(五)

在之前的的四篇文章中,我們介紹了,activiti7+springboot開發(fā)環(huán)境的搭建,以及流程部署,流程啟動,用戶任務完成等工作流相關操作。這里還是接著之前的文章繼續(xù)講。

前面的介紹中,我面部署了一個流程,在部署流程的時候要用到兩個資源文件,一個bmmn流程文件,一個png的dgram片?,F(xiàn)在我們假設一個場景,當用戶在完成自己的當前任務流程的時候,想要看一下所有的流程節(jié)點,想要查看整個流程圖像該如何操作。

在之前的介紹中我們知道流程定義的相關資源文件會保存在act_ge_byteArray這個表中,而且這兩個資源文件都是以二進制的形式存放在表中的。所以我們可以將資源文件取出來,展示給用戶。

操作流程

  • 在spring容器中拿到RepositoryService的實現(xiàn)類的實例。
  • 查看流程部署實例
  • 拿到流程部署id,在通過流程部署id拿到到兩個資源文件,并將這兩個資源文件輸出到指定的目錄中去
  • 代碼實現(xiàn):
    /**
     * 查看流程部署
     */
    @Override
    public void queryProcessDeployment() throws Exception {
        DeploymentQuery query = repositoryService.createDeploymentQuery();
        List<Deployment> list = query.deploymentName("請假流程").list();
        System.out.println(list);

        ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
        List<ProcessDefinition> list1 = processDefinitionQuery.deploymentId(list.get(0).getId()).list();
        System.out.println(list1);

        ProcessDefinition df = list1.get(0);
        String saveResourceDir = "C:\\Users\\newtab\\Desktop\\activitilogs\\";
        InputStream is = repositoryService.getResourceAsStream(df.getDeploymentId(), df.getResourceName());
        InputStream dis = repositoryService.getResourceAsStream(df.getDeploymentId(), df.getDiagramResourceName());
        OutputStream os = new FileOutputStream(saveResourceDir + df.getResourceName());
        FileOutputStream dos = new FileOutputStream(saveResourceDir + df.getDiagramResourceName());
        IOUtils.copy(is,os);
        IOUtils.copy(dis,dos);

        os.close();
        dos.close();
        is.close();
        dis.close();

    }

注意上面的IOUtils這個類是commons-io這個包里面的。
通過測試程序來調用,由于之前已經(jīng)有過測試調用的代碼,這里不再重復,貌似這個測試調用也沒啥技術特別的。

我們到上面的代碼指定的目錄查看,可以發(fā)現(xiàn)兩個流程定義的資源文件已經(jīng)在這個目錄下面了。
image.png

本文就先介紹到這里。

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容