真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

activiti如何部署bpmn/bar文件

這篇文章給大家分享的是有關(guān)activiti如何部署bpmn/bar文件的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過(guò)來(lái)看看吧。

濟(jì)源ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

當(dāng)配置好工作流,啟動(dòng)工作流。我們的第一步就是配置bpmn、bar、bpmn20.xml等文件。

部署bpmn的簡(jiǎn)單代碼:

ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
RepositoryService repositoryService = processEngine.getRepositoryService();
repositoryService.createDeployment()
  .addClasspathResource("org/activiti/test/AssigneeUserAndGroup.bpmn")
  .deploy();

簡(jiǎn)單解釋:創(chuàng)建一個(gè)部署引擎DeploymentBuilder,然后通過(guò)addClasspathResource把文件路徑設(shè)置進(jìn)去(最起碼activiti需要知道部署哪一個(gè)文件?。缓髥?dòng)部署方法deploy()。

addClasspathResource()方法其實(shí)就是把文件讀入到一個(gè)輸入流中,然后調(diào)用addInputStream()方法。addInputStream()主要是創(chuàng)建一個(gè)資源類,然后設(shè)置名稱,字節(jié),并且把這個(gè)資源給deployment實(shí)體

public DeploymentBuilder addInputStream(String resourceName, InputStream inputStream) {
    if (inputStream==null) {
      throw new ActivitiIllegalArgumentException("inputStream for resource '"+resourceName+"' is null");
    }
    byte[] bytes = IoUtil.readInputStream(inputStream, resourceName);
    ResourceEntity resource = new ResourceEntity();
    resource.setName(resourceName);
    resource.setBytes(bytes);
    deployment.addResource(resource);
    return this;
  }

  public DeploymentBuilder addClasspathResource(String resource) {
    InputStream inputStream = ReflectUtil.getResourceAsStream(resource);
    if (inputStream==null) {
      throw new ActivitiIllegalArgumentException("resource '"+resource+"' not found");
    }
    return addInputStream(resource, inputStream);
  }

所以也可以直接調(diào)用addInputStream(String resourceName, InputStream inputStream)進(jìn)行文件的部署。

注意:?jiǎn)为?dú)部署一個(gè)bpmn文件,png會(huì)在底層BpmnDeployer中分解出來(lái),并且保存到數(shù)據(jù)庫(kù)中。

如果一個(gè)部署中涉及到多個(gè)文件,我們可以打包一起部署,例如方法addZipInputStream(ZipInputStream zipInputStream),其實(shí)addZipInputStream會(huì)把這個(gè)包下面的所有文件逐一找出來(lái),然后創(chuàng)建資源類,設(shè)置到deployment實(shí)體中。

public DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream) {
    try {
      ZipEntry entry = zipInputStream.getNextEntry();
      while (entry != null) {
        if (!entry.isDirectory()) {
          String entryName = entry.getName();
          byte[] bytes = IoUtil.readInputStream(zipInputStream, entryName);
          ResourceEntity resource = new ResourceEntity();
          resource.setName(entryName);
          resource.setBytes(bytes);
          deployment.addResource(resource);
        }
        entry = zipInputStream.getNextEntry();
      }
    } catch (Exception e) {
      throw new ActivitiException("problem reading zip input stream", e);
    }
    return this;
  }

下面說(shuō)說(shuō).bar文件怎么打包:

(1)把文件都拷到同一目錄下面

activiti如何部署bpmn/bar文件
 

(2)對(duì)diagrams文件夾進(jìn)行打包

diagrams.zip

(3)修改文件的擴(kuò)展名diagrams.bar

感謝各位的閱讀!關(guān)于“activiti如何部署bpmn/bar文件”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!


當(dāng)前題目:activiti如何部署bpmn/bar文件
當(dāng)前鏈接:http://weahome.cn/article/joshis.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部