流動性のあるリソースの展開

リソースのデプロイメントに関係するテーブル

act_re_deployment(デプロイメントオブジェクトテーブル)は、プロセス定義の表示名とデプロイメント時間を格納し、各デプロイメントのレコードを追加します

act_re_procdef(プロセス定義テーブル)は、プロセス定義の属性情報を格納します。新しい各プロセス定義をデプロイすると、このテーブルにレコードが追加されます。プロセス定義のキーが同じ場合、バージョンアップグレード+1が使用されます

プロセスファイルのtargetNamespaceフィールドは、テーブルのCATEGORYに対応します

プロセスファイルのIDは、テーブルのキーに対応します

プロセスファイル名は、表の名前に対応しています

主キーIDルールはkey:virsion:generatedidです。

act_ge_bytearray(リソースファイルテーブル)には、プロセス定義に関連するデプロイメント情報が格納されます。つまり、プロセス定義ドキュメントの格納場所です。紛失しない場合、2つのレコードが追加されます。1つはbpmnルールファイルに関するもので、もう1つは画像です(デプロイメント時に1つのファイルのみがbpmnに指定されている場合、flowableはデプロイメント中にbpmnファイルのコンテンツを解析し、フローチャートを自動的に生成します)。2つのファイルはそれほど大きくなく、データベースにバイナリで格納されます

リソースの配置方法

1. classpathの方法

2.テキストモード

3.モデルの方法

4.バイトモード

5.ストリーミング方法

DeploymentBuilder addInputStream(String resourceName, InputStream inputStream);

DeploymentBuilder addClasspathResource(String resource);

DeploymentBuilder addString(String resourceName, String text);

DeploymentBuilder addBytes(String resourceName, byte[] bytes);

DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream);

DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel);

プロセスデプロイメントDeploymentBuilderクラスパスメソッド

@Test
public void DeploymentBuild1() {
    DeploymentBuilder deploymentBuilder = repositoryService.createDeployment()
            .category("测试分类")
            .name("名称")
            .addClasspathResource("Complex_compensation.manualmodif.importInFlowable_NOSHAPE.bpmn20.xml");
    //流程部署
    Deployment deploy = deploymentBuilder.deploy();

    System.out.println(deploy.getId());
}
/**
*字符串方式
*资源名称限制 结尾必须是bpmn20.xml or bpmn 才可以部署到流程定义表
*/
 @Test
    public void deploy1() {
        String text = IoUtil.readFileAsString("Complex_compensation.manualmodif.importInFlowable_NOSHAPE.bpmn20.xml");
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment()
                .category("测试分类")
                .name("名称")
                .key("测试的key")
                .addString("testStr.bpmn20.xml", text);
        //流程部署
        Deployment deploy = deploymentBuilder.deploy();
        System.out.println(deploy.getId());
    }
  /**
     * 输入流方式
     */
    @Test
    public void deploy2() {
        InputStream inputStream = SpringTest.class.getClassLoader().getResourceAsStream("Complex_compensation.manualmodif.importInFlowable_NOSHAPE.bpmn20.xml");
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment()
                .category("测试分类")
                .name("名称")
                .key("测试的key")
                .addInputStream("inputStream.bpmn20.xml", inputStream);
        //流程部署
        Deployment deploy = deploymentBuilder.deploy();
        System.out.println(deploy.getId());
    }

 

おすすめ

転載: blog.csdn.net/qq_37790902/article/details/108659507