Flowable中的Service
前言
在学习博客[(https://blog.csdn.net/puhaiyang/article/details/79845248)]时,注意到Flowable中的各种Service(如下),进而在官网中学习相关知识[https://flowable.com/open-source/docs/bpmn/ch04-API/#the-process-engine-api-and-services]
ProcessInstance pi = runtimeService
.createProcessInstanceQuery()
.processInstanceId(processId)
.singleResult();
Task task = taskService
.createTaskQuery()
.processInstanceId(pi.getId())
.singleResult();
//使用流程实例ID,查询正在执行的执行对象表,返回流程实例对象
String instanceId = task.getProcessInstanceId();
List<Execution> executions = runtimeService
.createExecutionQuery()
.processInstanceId(instanceId)
.list();
flowable中的service
- ProcessEngineConfiguration类通过读取xml文件配置流程引擎。
- 从ProcessEngine类中可以得到各种服务,值得注意的是,这些服务可以被认为是单例模式。
- RepositoryService是使用Flowable引擎时需要的第一个服务,它提供用于管理和操作部署和流程定义(BPMN )的操作,主要负责一些静态的配置。
- RuntimeService主要负责一些动态的任务,如启动一个新的实例,通常一个流程可以对应多个实例。它也用于检索和储存一些流程变量,比如在单向网关组件中需要传递之前的选择。
- TaskService主要和分配给人的任务相关,比如将任务分配给用户。
- IdentityService主要负责用户的管理。
- FormService是一个可选的服务,主要负责开始表单和结束表单。
- HistoryService保存历史信息。
- DynamicBpmnService可以动态的添加新的流程。
总结
自己对照博客修改后的项目地址[https://gitee.com/magic_girl/flowable2]