Activiti6核心API

1.RepositoryService-定义

  • 管理流程定义文件xml及静态资源的服务
  • 对特定流程的暂停和激活
  • 流程定义启动权限管理
  • 部署文件构造器DeploymentBuilder
  • 部署文件查询器DeploymentQuery
  • 流程定义文件查询对象ProcessDefinitionQuery
  • 流程部署文件对象Deployment
  • 流程定义文件对象ProcessDefinition
  • 流程定义的Java格式BpmnModel

Repository Service-功能

 @Test
    public void testRepository() {
        RepositoryService repositoryService = activitiRule.getRepositoryService();
        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
        deploymentBuilder.name("test deploy resource")
         .addClasspathResource("my-process.xml");
        Deployment deploy = deploymentBuilder.deploy();
        // deploy完成以后,部署对象及流程定义资源文件都会部署到数据库里面
          LOGGER.info("deploy = {}",deploy);

        DeploymentQuery deploymentQuery = repositoryService.createDeploymentQuery();
         Deployment deployment = deploymentQuery.deploymentId(deploy.getId()).singleResult();
        // 流程定义的查询对象
          List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
                .deploymentId(deployment.getId())
                .listPage(0, 100);
              for (ProcessDefinition processDefinition : processDefinitions) {
            LOGGER.info("processDefinition ={},version = {},key = {} , id = {}",processDefinition,
             processDefinition.getVersion(),
                    processDefinition.getKey(),
                    processDefinition.getId());
        }       

2.RuntimeService-流程运行控制服务

  • 启动流程及对流程数据的控制
  • 流程实例(ProcessInstance)与执行流(Execution)查询
  • RuntimeService启动流程及变量管理
  • 启动流程的常用方式(id,key,message)
  • 启动流程可选参数(businesskey(业务的唯一标识参数订单号,或物流单号,多用户的标志),变量variables的设置或获取,流程实例级别的,执行流级别的),tenantId)
  • 流程实例与执行流:流程实例(ProcessInstance)表示一次工作流业务的数据实体
  • 执行流(Execution)表示流程实例中具体的执行路径
  • 流程实例接口继承与执行流

流程触发

  • 使用trigger触发ReceiveTask节点
  • 触发信号捕获事件signalEventReceived
  • 触发消息捕获事件messageEventReceived
    流程触发trigger
    Activiti6核心API
    流程触发signalEventReceived
    Activiti6核心API
    消息触发流程触发messageEventReceived
    Activiti6核心API

3.任务管理服务-TaskService

  • 对用户任务(UserTask)管理和流程的控制
  • 设置用户任务(UserTask)的权限信息(拥有者,候选人,办理人)
  • 针对用户任务添加任务附件,任务评论和事件记录
    TaskService对Task管理与流程控制
  • Task对象的创建,删除
  • 查询Task,并驱动Task节点完成执行
  • Task相关参数变量(variable)设置
    TaskService设置Task权限信息
  • 候选用户(candidateUser)和候选组(candidateGroup)
  • 指定拥有人(Owner)和办理人(Assignee)
  • 通过claim设置办理人
    TaskService设置Task附加信息
  • 任务附件(Attachment)创建与查询
  • 任务评论(Comment)创建与查询
  • 事件记录(Event)创建与查询
    Activiti6核心APIActiviti6核心API

IdentityService

  • 管理用户(User)
  • 管理用户组(Group)
  • 用户与用户组的关系(Membership)

HistoryService

  • 管理流程实例结束后的历史数据
  • 构建历史数据的查询对象
  • 根据流程实例Id删除流程历史数据
    HistoryService历史数据实体
    Activiti6核心API
    HistoryService构建历史查询对象
  • create[历史数据实体]Query
  • createNative[历史数据实体]Query允许传入原始的sql语句进行查询
  • createProcessInstanceHistoryLogQuery 只能查出一个流程实例的对象,只能查出一条数据,但是包含这个流程实例所有其他的数据。包括TaskActivi等信息

HistoryService删除历史操作

  • deleteHistoricProcessInstance删除流程实例所有相关的数据
  • deleteHistoricTaskInstance删除Task实例,相关的变量,

其他管理服务

  • 管理服务ManagementService
  • 动态流程定义服务DynamicBpmnService(不应该通过代码的方式对业务流程进行修改)

ManagementService

  • Job任务管理(Job类型的移动或者删除操作)
  • 数据库相关通用操作(查一下数据库有多少张表,获取表达mataDate数据,自定义sql的查询)
  • 执行流程引擎命令(Command)的方法
    Job任务查询
    Activiti6核心API
    数据库相关操作
  • 查询表结构元数据(TableMetaData)
  • 通用表查询(TablePageQuery)
  • 执行自定义的sql查询(executeCustomSql)

异常策略

ActivitiException
Activiti6核心API

上一篇:springboot项目使用validation-api进行参数校验


下一篇:Android gradle-7.0.2-bin 下载