リソースのデプロイメントに関係するテーブル
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());
}