跳至主要內容

Flowable-7.流程定义系列

holic-x...大约 4 分钟框架BPMFlowable

Flowable框架学习笔记-07-流程定义系列

RepositoryService

RepositoryService:仓库服务类(管理bpmn文件和流程图片)

流程图片生成支持的方式:可以在设计流程的时候产生或者是API方式根据流程文件产生

// 获取流程定义和部署对象相关的Service(如果整合Spring框架,则可通过注解进行Bean注入)
RepositoryService repositoryService = processEngine.getRepositoryService() ;
// 流程引擎配置类:ProcessEngineConfigurationImpl
// 服务类实现类:
public class RepositoryServiceImpl extends CommonEngineServiceImpl<ProcessEngineConfigurationImpl> implements RepositoryService 

RepositoryService派生类:

image-20200616111659971

image-20200616112014897

【1】DeploymentBuild的构造

    DeploymentBuilder deploymentBuilder = repositoryService
                .createDeployment()
                .category("测试分类")
                .name("名称");

【2】资源部署的方式

img

步骤说明:
a.借助流程引擎对象ProcessEngine获取RepositoryService仓库对象
b.构造一个DeploymentBuilder,结合实际需求参考构造方法
c.随后调用deploy()方法部署数据,返回一个Deployment对象
	输入流城市: addInputStream(String var1, InputStream var2);
    classPath方式: addClasspathResource(String var1);
    文本方式: addString(String var1, String var2);
    字节方式: addBytes(String var1, byte[] var2);
    压缩流方式: addZipInputStream(ZipInputStream var1);
    模型方式: addBpmnModel(String var1, BpmnModel var2);

【3】部署资源设计核心表说明

流程部署:

  • ACT_GE_PROPERTY 主键生成策略表
  • ACT_GE_BYTEARRAY 保存流程设计的xml文件和流程图片(两条记录)
  • ACT_RE_DEPLOYMENT 保存流程部署信息,名称,部署时间,分类(每次部署增加一条记录)
  • ACT_RE_PROCDEF 保存流程定义信息,key,名称(多次部署同一个流程文件,会生成多个部署记录和流程定义记录,流程定义的ID由key+版本+id组成)

BPMN属性说明:

<definitions targetNamespace="">:targetNamespace对应ACT_RE_PROCDEF的CATEGORY_字段
<process id="sbf-demo-single" name="sbf-demo-single">:id对应ACT_RE_PROCDEF的key字段 

如果采用文本方式部署,如果部署之后流程定义表无数据,检查资源名称是否正确,如果不正确则无法加载资源,资源的名称必须是bpmn20.xml、bpmn结尾才能部署到流程定义表

ACT_GE_BYTEARRAY (二进制文件)

字段字段名称数据类型字段长度备注
ID_主键varchar64PRI
REV_版本号intNULLversion
NAME_名称varchar255部署的文件名称,如:mail.bpmn、mail.png 、mail.bpmn20.xml
DEPLOYMENT_ID_部署IDvarchar64ACT_RE_DEPLOYMENT
BYTES_字节(二进制数据)longblob4294967295
GENERATED_是否系统生成tinyintNULL0为用户上传, 1为系统自动生 成, 比如系统会 自动根据xml生 成png
说明:
	用来保存部署文件的大文本数据 
	所有二进制内容都会保存在这个表里, 比如部署的process.bpmn20.xml, process.png, user.form、附件、bean序列化为二进制的流程变量
	act_ge_property属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录

ACT_RE_DEPLOYMENT (部署信息表核心表)

字段字段名称数据类型字段长度备注
ID_主键varchar64PRI
NAME_名称varchar255
CATEGORY_分类varchar255
TENANT_ID_租户IDvarchar255
DEPLOY_TIME_部署时间timestampNULL
说明:
	部署流程定义时需要被持久化保存下来的信息

ACT_RE_PROCDEF (流程定义数据表核心表)

字段字段名称数据类型字段长度备注
ID_主键varchar64PRI
REV_版本号intNULLversion
CATEGORY_分类varchar255流程定义的Namespace就是类别
NAME_名称varchar255
KEY_标识varchar255MUL
VERSION_版本intNULL
DEPLOYMENT_ID_部署IDvarchar64
RESOURCE_NAME_资源名称varchar4000流程bpmn文件名称
DGRM_RESOURCE_NAME_图片资源名称varchar4000
DESCRIPTION_描述varchar4000
HAS_START_FORM_KEY_拥有开始表单标识tinyintNULLstart节点是否存在formKey 0否 1是
HAS_GRAPHICAL_NOTATION_拥有图形信息tinyintNULL
SUSPENSION_STATE_挂起状态intNULL暂停状态 1激活 2暂停
TENANT_ID_租户IDvarchar255
说明:
	业务流程定义数据表:此表和ACT_RE_DEPLOYMENT是多对一的关系,即一个部署的bar包里可能包含多个流程定义文件,每个流程定义文件都会有一条记录在ACT_REPROCDEF表内,每个流程定义的数据,都会对于ACT_GE_BYTEARRAY表内的一个资源文件和PNG图片文件。和ACT_GE_BYTEARRAY的关联是通过程序用ACT_GE_BYTEARRAY.NAME与ACT_RE_PROCDEF.NAME_完成的,在数据库表结构中没有体现
	Key属性被用来区别不同的流程定义,其中Key和Value值为对应bpmn文件的process节点的id和name属性,器version版本属性会在原有基础上递增,其ID命名规则为'key+版本+id'构成
评论
  • 按正序
  • 按倒序
  • 按热度
Powered by Waline v3.1.3