Activiti5核心API详解
来源:互联网 发布:斗破苍穹网络剧在哪播 编辑:程序博客网 时间:2024/04/27 14:19
说明:
1、在Activiti中最核心的类,其他的类都是由他而来。
2、产生方式:
ProcessEngine processEngine = ProcessEngines.getDefaultProceeEngine();
在前面看到了两种创建ProcessEngine(流程引擎)的方式
而这里要简化很多
调用ProcessEngines的getDefaultProceeEngine方法时会自动加载classpath下名为activiti.cfg.xml文件
3、可以产生RepositoryService
RepositoryService repositoryService = processEngine.getRepositoryService();
4、可以产生RuntimeService
RuntimeService runtimeService = processEngine.getRuntimeService();
5、可以产生TaskService
TaskService taskService = processEngine.getTaskService();
各个Service的作用
二:RepositoryService
是Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片。
1、产生方式
RepositoryService repositoryService = processEngine.getRepositoryService();
2、可以产生DeploymentBuilder,用来定义流程部署的相关参数
DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
3、删除流程定义
repositoryService.deleteDeployment(deploymentId);
三:RuntimeService
是activiti的流程执行服务类。可以从这个服务类中获取很多关于流程执行相关的信息。
四:TaskService
是activiti的任务服务类。可以从这个类中获取任务的信息。
五:HistoryService
是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。
六:ProcessDefinition
流程定义类。可以从这里获得资源文件等。
七:ProcessInstance
代表流程定义的执行实例
一个流程实例包括了所有的运行节点
我们可以利用这个对象来了解当前流程实例的进度等信息
流程实例就表示一个流程从开始到结束的最大的流程分支
即一个流程中流程实例只有一个
八:Execution
Activiti用这个对象去描述流程执行的每一个节点
在没有并发的情况下,Execution就是同ProcessInstance
流程按照流程定义的规则执行一次的过程,就可以表示执行对象Execution
ProcessInstance的源代码:
<span style="white-space:pre"></span>/**Represents one execution of a {@link ProcessDefinition}.**@author Tom Baeyens*@author Joram Barrez*@author Daniel Meyer*/
从源代码中可以看出ProcessInstance就是Execution,但在现实意义上有所区别
在单线流程中,如上图的贷款流程,ProcessInstance与Execution是一致的
这个例子有一个特点:wire money(汇钱)和archive(存档)是并发执行的。 这个时候,总线路代表ProcessInstance,而分线路中每个活动代表Execution
总结:
* 一个流程中,执行对象可以存在多个,但是流程实例只能有一个
* 当流程按照规则只执行一次的时候,那么流程实例就是执行对象
- Activiti5核心API详解
- 二、Activiti5 核心API
- ext核心API详解
- Hibernate核心API详解
- EXT核心API详解(一)
- ext 2.0 核心API详解
- EXT核心API详解(一)
- Hibernate核心API的详解
- EXT核心API详解(一)-Ext
- EXT核心API详解(三)-Ext.Element
- EXT核心API详解(六)-Ext.Fx
- EXT核心API详解(一)-Ext
- EXT核心API详解(六)-Ext.Fx
- EXT核心API详解Ext.Toolbar(十八)
- [转载]EXT核心API详解(一)-Ext
- EXT核心API详解(二)Array类
- EXT核心API详解(六)--Ext.Fx
- EXT核心API详解(十一)--Store
- 【Kali_011】KDE字体调整
- c语言思想18
- 使用HAProxy、PHP、Redis和MySQL支撑10亿请求每周架构细节
- 判断浏览器兼容
- 按字符分割计算列数
- Activiti5核心API详解
- 20 things to do after installing Kali Linux
- 看到个有趣的方法批量下载rtf模板
- 表空间的状态(一) - ONLINE和OFFLINE
- C语言中数组名和指针的区别
- 构造数列Codeforces Round #261 (Div. 2)C
- Android 网络连接工具类
- LeetCode Binary Tree Level Order Traversal II
- http://www.toming.net