Activiti7基本介绍( 二 )

涉及数据库表表名作用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
    KEY_ 这个字段是用来唯一识别不同流程的关键字 。
    ACT_RE_DEPLOYMENTACT_RE_PROCDEF是一对多的关系,即:一次部署可以部署多个流程定义,而只会在流程部署表(ACT_RE_DEPLOYMENT)生成一条记录 。
    一般情况下建议一次部署只部署一个流程 。
查询流程信息
  • 查询流程部署信息
    // 获取流程部署查询器DeploymentQuery deploymentQuery =repositoryService.createDeploymentQuery();// 查询列表 。List<Deployment> deployments = deploymentQuery.list();
  • 查询流程定义信息
    // 获取流程定义查询器ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();// 查询器构建查询条件,最终返回列表 。List<ProcessDefinition> processDefinitionList = processDefinitionQuery.orderByProcessDefinitionVersion().asc().list();
  • 查询部署资源
    public interface RepositoryService {/*** 通过部署ID和资源名称获取资源流 。* @param deploymentId 部署ID* @param resourceName 资源名称*/InputStream getResourceAsStream(String deploymentId, String resourceName);/*** 检索给定部署的部署资源列表,按字母顺序排列 。* @param deploymentId 部署ID*/List<String> getDeploymentResourceNames(String deploymentId);/*** 允许通过字节流访问已部署的流程模型,例如BPMN2.0XML文件 。* @param processDefinitionId 流程定义ID*/InputStream getProcessModel(String processDefinitionId);/*** 返回流程定义信息* @param processDefinitionId 流程定义ID*/ProcessDefinition getProcessDefinition(String processDefinitionId);/*** 返回与具有提供的进程定义id的进程定义对应的BPMN 模型 。* @param processDefinitionId 流程定义ID*/BpmnModel getBpmnModel(String processDefinitionId);}
挂起流程public interface RepositoryService {/*** 挂起给定id的流程定义 。*/void suspendProcessDefinitionById(String processDefinitionId);/*** 挂起给定id的流程定义 。** @param suspendProcessInstances 是否挂起流程实例*如果为true,则提供的流程定义的所有流程实例也将挂起* @param suspensionDate 挂起日期*进程定义将被挂起的日期 。如果为null,进程定义将立即挂起 。注意:作业执行器需要处于活动状态才能使用此命令!*/void suspendProcessDefinitionById(String processDefinitionId,boolean suspendProcessInstances,Date suspensionDate);/***挂起给定流程定义Key的流程*/void suspendProcessDefinitionByKey(String processDefinitionKey);/***挂起给定流程定义Key的流程* @param suspendProcessInstances 是否挂起流程实例*如果为true,则提供的流程定义的所有流程实例也将挂起* @param suspensionDate 挂起日期*进程定义将被挂起的日期 。如果为null,进程定义将立即挂起 。注意:作业执行器需要处于活动状态才能使用此命令!*/void suspendProcessDefinitionByKey(String processDefinitionKey,boolean suspendProcessInstances,Date suspensionDate);/*** 挂起给定流程定义Key和租户Id的流程 。*/void suspendProcessDefinitionByKey(String processDefinitionKey, String tenantId);...}激活流程public interface RepositoryService {/***激活指定流程定义ID的流程*/void activateProcessDefinitionById(String processDefinitionId);/*** 激活指定流程定义ID的流程** @param suspendProcessInstances 是否挂起流程实例*如果为true , 则提供的流程定义的所有流程实例也将激活* @param suspensionDate 挂起日期*进程定义将被激活的日期 。如果为null,进程定义将立即激活 。注意:作业执行器需要处于挂起状态才能使用此命令!*/void activateProcessDefinitionById(String processDefinitionId,boolean activateProcessInstances,Date activationDate);/*** 激活给定流程定义Key(BPMN图中的ID)的流程*/void activateProcessDefinitionByKey(String processDefinitionKey);/*** 激活指定流程定义Key的流程** @param suspendProcessInstances 是否挂起流程实例*如果为true,则提供的流程定义的所有流程实例也将激活* @param suspensionDate 挂起日期*进程定义将被激活的日期 。如果为null,进程定义将立即激活 。注意:作业执行器需要处于挂起状态才能使用此命令!*/void activateProcessDefinitionByKey(String processDefinitionKey,boolean activateProcessInstances,Date activationDate);/***激活给定流程定义Key和租户Id的流程*/void activateProcessDefinitionByKey(String processDefinitionKey, String tenantId);...}

推荐阅读