部署方式
ReposityService
主要就是依靠调用DeploymentBuilder
的接口来进行流程定义的部署的 。DeploymentBuilder
支持多种方式的部署 。
public interface DeploymentBuilder {// 文件流方式部署DeploymentBuilder addInputStream(String resourceName, InputStream inputStream);DeploymentBuilder addInputStream(String resourceName,Resource resource);// 资源文件方式部署DeploymentBuilder addClasspathResource(String resource);// 字符串内容部署,一般是bpmn的xml内容字符串部署DeploymentBuilder addString(String resourceName, String text);// 字节数组部署DeploymentBuilder addBytes(String resourceName, byte[] bytes);// Zip压缩包部署DeploymentBuilder addZipInputStream(ZipInputStream zipInputStream);// Bpmn模型部署,可动态生成BPMN model进行部署 。DeploymentBuilder addBpmnModel(String resourceName, BpmnModel bpmnModel);DeploymentBuilder setProjectManifest(ProjectManifest projectManifest);DeploymentBuilder setEnforcedAppVersion(Integer enforcedAppVersion);/***如果调用,则不会对bpmn2.0xsd进行XML模式验证 。*一般不推荐*/DeploymentBuilder disableSchemaValidation();/*** 如果调用,则不会对流程定义进行验证,以确定流程定义在引擎上是可执行的 。* 一般不推荐使用 。*/DeploymentBuilder disableBpmnValidation();/*** 为部署指定名字*/DeploymentBuilder name(String name);/*** 为部署指定种类*/DeploymentBuilder category(String category);/*** 为部署指定Key,该属性默认是bpmn的id*/DeploymentBuilder key(String key);/*** 为部署指定租户ID,没有用到过 。。。*/DeploymentBuilder tenantId(String tenantId);/*** 如果已设置,则此部署将与以前的任何部署进行比较 。这意味着每个(未生成的)资源都将与此部署提供的资源进行比较 。*/DeploymentBuilder enableDuplicateFiltering();/*** 设置激活此部署中包含的流程定义的日期 。这意味着所有流程定义都将像往常一样部署,但它们将从在给定的激活日期之前开始 。*/DeploymentBuilder activateProcessDefinitionsOn(Date date);/*** 允许将影响部署的属性添加到实例中*/DeploymentBuilder deploymentProperty(String propertyKey, Object propertyValue);/*** 将所有提供的源部署到Activiti引擎 。*/Deployment deploy();}
涉及数据库表表名作用ACT_RE_DEPLOYMENT流程定义部署表:每部署一次增加一条记录ACT_RE_PROCDEF流程定义表:部署每个新的流程都会在这张表上增加一条记录ACT_GE_BYTEARRAY流程资源表:存储xml和png内容的表- ACT_GE_BYTEARRAY
该表记录了流程的资源信息,包括bpmn文件的xml内容和png图片的二进制内容,
RepositoryService
也提供了相应的接口去获取这些资源 。
SELECT * FROM ACT_GE_BYTEARRAY;
ID_REV_NAME_DEPLOYMENT_ID_BYTES_GENERATED_21bpmn/stadiumapplication.bpmn1(BLOB)4.43 - ACT_RE_DEPLOYMENT
SELECT * FROM ACT_RE_DEPLOYMENT;
ID_NAME_CATEGORY_KEY_TENANT_ID_DEPLOY_TIME_ENGINE_VERSION_1球场申请流程2021-01-17 08:59:05 - ACT_RE_PROCDEF
SELECT * FROM ACT_RE_PROCDEF;
ID_REV_CATEGORY_NAME_KEY_VERSION_DEPLOYMENT_ID_RESOURCE_NAME_DGRM_RESOURCE_NAME_DESCRIPTION_HAS_START_FORM_KEY_HAS_GRAPHICAL_NOTATION_SUSPENSION_STATE_TENANT_ID_ENGINE_VERSION_ballrepally:1:31http://www.activiti.org/testm1574124674914球场申请ballrepally11bpmn/stadiumapplication.bpmn011【Activiti7基本介绍】
KEY_
这个字段是用来唯一识别不同流程的关键字 。
而ACT_RE_DEPLOYMENT
和ACT_RE_PROCDEF
是一对多的关系,即:一次部署可以部署多个流程定义,而只会在流程部署表(ACT_RE_DEPLOYMENT
)生成一条记录 。
一般情况下建议一次部署只部署一个流程 。
经验总结扩展阅读
- 奥运会的介绍
- 苹果13mini屏幕材质_苹果13mini屏幕介绍
- AlexNet-文献阅读笔记
- 15 基于SqlSugar的开发框架循序渐进介绍-- 整合代码生成工具进行前端界面的生成
- 电影左耳剧情介绍?
- 电影康定情歌剧情介绍?
- 电影搜索剧情详细介绍?
- 电影攀登者剧情介绍?
- 电影最爱的剧情介绍?
- 红米Note11参数配置_红米Note11详细配置介绍