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操作,感 ...
随机推荐
- json字符串,json对象,java对象互相转换
1.把JSON字符串转换为JAVA 对象 JSONObject jsonobject = JSONObject.fromObject(jsonStr); User user= (User)JSONOb ...
- 【数据结构】Tournament Chart
Tournament Chart 题目描述 In 21XX, an annual programming contest, Japan Algorithmist GrandPrix (JAG) has ...
- (十七)Hibnernate 和 Spring 整合
一.Hibnernate 和 Spring结合方案: 方案一: 框架各自使用自己的配置文件,Spring中加载Hibernate的配置文件. 方案二: 统一由Spring的配置来管理.(推荐使用 ...
- 7.生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信)
/* * 生产者消费者 案例 (使用Lock 同步锁 方式,使用Condition完成线程之间的通信) * */ public class TestProductorAndConsumerForLoc ...
- PHP 根据二维数组中的某个字段进行排序
<?php $data = array( array( 'id' => 5698, 'first_name' => 'Bill', 'last_name' => 'Gates' ...
- 【shell】shell基础
一.数据类型 1.shell变量 运行shell时,会同时存在三种变量: 1) 局部变量 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量. 2) 环 ...
- Python爬微信好友头像,性别,所在地区
本文适合新手(有一定基础的小白) 今天没事,用的网页版微信,于是看源码心理作怪,F12打开,研究了一下,结果发现 /斜眼笑/斜眼笑/斜眼笑 再加上,没事干,(大家有好工作求介绍,本人待就业),Pyth ...
- kafka学习链接收藏
1.kafka官方文档 Apache Kafka : broker.producer.consumer等参数配置直接看目录 2.系统学习 kafka中文教程 - OrcHome <Apache ...
- Nginx系列1.2:nginx-rtmp流媒体服务器添加权限认证(推流权限和播放权限)
用到的工具:OBS Studio(推流).nginx-rtmp流媒体服务器.VLC(拉取流播放) Nginx系列1:ubuntu16.04编译出适合自己的nginx服务器 Nginx系列1.1:ubu ...
- Numpy API学习
Numpy 常用API学习(全) 一.介绍 NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库 ...