Activiti工作流学习(一)——Activiti服务类
Activity有9个service
1.DynamicBpmnService动态Bpmn服务
Service providing access to the repository of process definitions and deployments.
服务提供对流程定义和部署的存储库的访问。
这个服务是5.19版本后新增的一个服务,和RepositoryService的作用相似,都是与流程定义有关,但是却完全不同。从名字上来看是动态的BPMN服务,看里面的方法都是改变流程的相关属性。这个方法就可以直接操作流程定义,而不需要读取模型,再设计部署(一个流程基本要经过创建模型,设计画图,生产BPMN的XML文件,再部署成流程定义,这个服务就可以直接操作流程定义,不会改变原本的文件,个人感觉可能会带来一些的问题,但是目前对于流程流转内部实现还没有完全理解,使用要谨慎,比如有的流程正在运行老版本的定义,这个时候改变流程定义,接下来怎么流转之类的都是问题)。
2.EngineService引擎服务
Interface implemented by all classes that expose the Activiti services.
接口实现的所有类都公开了Activiti服务。
一共提供了9个接口
//获取RepositoryService
RepositoryService getRepositoryService();
//获取RuntimeService
RuntimeService getRuntimeService();
//获取FormService
FormService getFormService();
//获取TaskService
TaskService getTaskService();
//获取HistoryService
HistoryService getHistoryService();
//获取IdentityService
IdentityService getIdentityService();
//获取ManagementService
ManagementService getManagementService();
//获取DynamicBpmnService
DynamicBpmnService getDynamicBpmnService();
//获取流程引擎配置
ProcessEngineConfiguration getProcessEngineConfiguration();
其中8个接口是用来获取其他Service的,1个接口用来获取流程引擎配置
用引擎获取其他service方法
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();//获取引擎
DynamicBpmnService dbService = processEngine.getDynamicBpmnService();//获取需要的Service
3.FormService表单服务
Access to form data and rendered forms for starting new process instances and completing tasks.
访问表单数据和呈现表单以启动新的流程实例和完成任务。
4.HistoryService历史服务
Service exposing information about ongoing and past process instances. This is different from the runtime information in the sense that this runtime information only contains the actual runtime state at any given moment and it is optimized for runtime process execution performance.
The history information is optimized for easy querying and remains permanent in the persistent storage.
服务公开正在进行的和过去的流程实例的信息。
这与运行时信息不同,因为这个运行时信息只包含任何给定时刻的实际运行时状态,并且对运行时流程执行性能进行了优化。
历史信息是为了便于查询而优化的,并且在持久存储中保持永久不变。
5.IdentityService身份服务
Service to manage {@link User}s and {@link Group}s.
服务来管理{@link用户}和{@link组}。
6.ManagementService管理服务
Service for admin and maintenance operations on the process engine.
These operations will typically not be used in a workflow driven application,
but are used in for example the operational console.
服务于流程引擎上的管理和维护操作。
这些操作通常不会在工作流驱动的应用程序中使用,
但是在操作控制台中使用。
7.RepositoryService库服务
Service providing access to the repository of process definitions and deployments.
服务提供对流程定义和部署的存储库的访问。
8.RuntimeService运行时服务
Starts a new process instance in the latest version of the process definition with the given key..
使用给定的键在流程定义的最新版本中启动一个新的流程实例。
9.TaskService任务服务
Service which provides access to {@link Task} and form related operations.
提供访问{@link任务}和表单相关操作的服务。
Activiti工作流学习(一)——Activiti服务类的更多相关文章
- Activiti工作流学习之流程图应用详解
Activiti工作流学习之流程图应用详解 1.目的 了解Activiti工作流是怎样应用流程图的. 2.环境准备2.1.相关软件及版本 jdk版本:Jdk1.7及以上 IDE:eclipse ...
- Activiti工作流学习之概述(一)
一.工作流介绍 我第一次听到这个词,是蒙逼的,再看百度百度,更傻眼了,完全说的不像人话啊,举几个生活中的例子,就明白多了比如:请假.报销等等,如果文字太过抽象,请看图: 二.工作流引擎 Process ...
- Activiti工作流学习笔记一
Activiti工作流 一:Activiti第一天 1:工作流的概念 说明: 假设:这两张图就是华谊兄弟的请假流程图 图的组成部分: 人物:范冰冰冯小刚王中军 事件(动作):请假.批准.不批准 工作流 ...
- Activiti工作流学习(三)Activiti工作流与spring集成
一.前言 前面Activiti工作流的学习,说明了Activiti的基本应用,在我们开发中可以根据实际的业务参考Activiti的API去更好的理解以及巩固.我们实际的开发中我们基本上都使用sprin ...
- Activiti工作流学习笔记(三)——自动生成28张数据库表的底层原理分析
原创/朱季谦 我接触工作流引擎Activiti已有两年之久,但一直都只限于熟悉其各类API的使用,对底层的实现,则存在较大的盲区. Activiti这个开源框架在设计上,其实存在不少值得学习和思考的地 ...
- Activiti工作流学习-----基于5.19.0版本(3)
前面关于eventType的属性值的配置简单的说了一下,activiti支持的值如下表所示:这是我摘抄的activiti官网的 Event 的名字 描述 Event的类名 ENGINE_CREATED ...
- Activiti工作流学习-----基于5.19.0版本(4)
四.使用工作流开发 org.activiti.engine.ProcessEngine提供的Service作用在工作流引擎上面,如果所示是模仿一个公司简单的审批流程,你可以下载这个Demo:Activ ...
- Activiti工作流学习笔记(四)——工作流引擎中责任链模式的建立与应用原理
原创/朱季谦 本文需要一定责任链模式的基础,主要分成三部分讲解: 一.简单理解责任链模式概念 二.Activiti工作流里责任链模式的建立 三.Activiti工作流里责任链模式的应用 一.简单理解责 ...
- Activiti工作流学习(一)部署对象和流程定义
一.前言 前一段时间在工作中,使用了流程审批,对api的调用非常不熟悉,都是调用别人写好的接口在界面上进行显示,基本了解了流程审批的主要步骤,现对流程审批进行学习,主要是调用api进行CRUD操作,感 ...
随机推荐
- Java中 final和static解析
一.final 根据程序上下文环境,Java关键字final有"这是无法改变的"或者"终态的"含义,它可以修饰非抽象类.非抽象类成员方法和变量.你可能出于两种理 ...
- docker相关--dockerd日志设置
背景 线上容器dockerd的后台程序打印了超过几十G的日志 Docker daemon日志的位置: Docker daemon日志的位置,根据系统不同各不相同. Ubuntu - /var/log/ ...
- hdu 6375 度度熊学队列 (链表模拟)
度度熊正在学习双端队列,他对其翻转和合并产生了很大的兴趣. 初始时有 N 个空的双端队列(编号为 1 到 N ),你要支持度度熊的 Q 次操作. ①1 u w val 在编号为 u 的队列里加入一个 ...
- MySQL 子查询(四)子查询的优化、将子查询重写为连接
MySQL 5.7 ref ——13.2.10.10优化子查询 十.子查询的优化 开发正在进行中,因此从长远来看,没有什么优化建议是可靠的.以下列表提供了一些您可能想要使用的有趣技巧.See also ...
- (十七)Activitivi5之组任务分配
一.需求分析 我们在实际业务开发过程中,某一个审批任务节点可以分配一个角色(或者叫做组),然后属于这个角色的任何一个用户都可以去完成这个任务节点的审批 二.案例 2.1 方式一:直接流程图配置中写死 ...
- (十一)springmvc和spring的整合
1:Maven引入相关的jar包. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="ht ...
- Thymeleaf 模板使用 Error resolving template "/home", template might not exist or might not be accessible by any of the
和属性文件中thymeleaf模板的配置相关 1.配置信息 spring.thymeleaf.prefix=classpath:/templates/ spring.thymeleaf.suffix= ...
- java 框架-模板引擎FreeMarker
https://www.cnblogs.com/itdragon/p/7750903.html FreeMarker是一个很值得去学习的模版引擎.它是基于模板文件生成其他文本的通用工具.本章内容通过如 ...
- [Vuex系列] - Mutation的具体用法
更改 Vuex 的 store 中的状态的唯一方法是提交 mutation.Vuex 中的 mutation 非常类似于事件:每个 mutation 都有一个字符串的 事件类型 (type) 和 一个 ...
- stm32 printf重定向
printf函数调用fputc int fputc(int ch, FILE *p) { USART_SendData(USART1, ch); //重定向到串口 while(USART_GetFla ...