Activiti7基本介绍( 二 )

部署方式

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_DEPLOYMENTACT_RE_PROCDEF是一对多的关系,即:一次部署可以部署多个流程定义,而只会在流程部署表(ACT_RE_DEPLOYMENT)生成一条记录 。
    一般情况下建议一次部署只部署一个流程 。
查询流程信息

经验总结扩展阅读