类型 名称 释义 service RepositoryService 流程定义服务
1.ProcessEngine¶
说明:
Activiti中最核心的类,其他的类都是由他而来
1.1获取方式¶
a. bullid¶
ProcessEngineConfiguration configuration = ProcessEngineConfiguration.createProcessEngineConfigurationFromResource("/activiti.cfg.xml");
ProcessEngine processEngine = configuration.buildProcessEngine();
b.default¶
ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
1.2获取Service¶
// 流程部署修改删除
RepositoryService repositoryService = processEngine.getRepositoryService();
// 流程运行
RuntimeService runtimeService = processEngine.getRuntimeService();
TaskService taskService = processEngine.getTaskService();
// 历史记录
HistoryService historyService = processEngine.getHistoryService();
// 页面表单
FormService formService = processEngine.getFormService();
// 用户管理
IdentityService identityService = processEngine.getIdentityService();
ManagementService managementService = processEngine.getManagementService();
2. Service¶
2.1 管理流程定义 RepositoryService¶
是Activiti的仓库服务类,所谓的仓库指流程定义文档的两个文件,bpmn文件和流程图片
a.生产方式
RepositoryService repositoryService = processEngine.getRepositoryService();
b. 定义流程部署
DeploymentBuilder createDeployment = repositoryService.createDeployment();
c.删除流程
repositoryService.deleteDeployment(deploymentId);
2.3 执行管理¶
RuntimeService¶
是activiti的流程执行服务类 , 可以从这个服务类中获取很多关于流程执行相关的信息 .
2.4 任务管理 TaskService¶
是activiti的任务服务类 , 可以从这个类中获取任务的信息 .
2.5 历史管理 HistoryService¶
是activiti的查询历史信息的类 , 在一个流程执行完成后 , 这个对象为我们提供查询历史信息 .
2.6 表单管理 FormService¶
是一个可选服务。即使不使用它,Activiti也可以完美运行, 不会损失任何功能。这个服务提供了*启动表单*和*任务表单*两个概念。*启动表单*会在流程实例启动之前展示给用户, *任务表单*会在用户完成任务时展示。Activiti支持在BPMN 2.0流程定义中设置这些表单。 这个服务以一种简单的方式将数据暴露出来。再次重申,它时可选的, 表单也不一定要嵌入到流程定义中。
2.7 组织机构管理 IdentityService¶
非常简单。它可以管理(创建,更新,删除,查询...)群组和用户。 请注意, Activiti执行时并没有对用户进行检查。 例如,任务可以分配给任何人,但是引擎不会校验系统中是否存在这个用户。 这是Activiti引擎也可以使用外部服务,比如ldap,活动目录,等等。
2.8 管理器服务 ManagementService¶
在使用Activiti的定制环境中基本上不会用到。 它可以查询数据库的表和表的元数据。另外,它提供了查询和管理异步操作的功能。 Activiti的异步操作用途很多,比如定时器,异步操作, 延迟暂停、激活,等等。后续,会讨论这些功能的更多细节。
3. 流程¶
3.1 流程定义 ProcessDefinition¶
act_re_procdef- 流程定义类 , 可以从这里获得资源文件等 . 当流程被部署后 , 查询出来的数据就是流程定义的数据 .
- 表示流程定义的环节
3.2 流程实例 ProcessInstance¶
- 代表流程定义的执行实例 . 一个流程实例就表示一个流程从开始到结束的最大的流程分支 , 即一个流程中流程实例只有一个
- 表示当前执行的流程
3.3 执行实例 Execution¶
-
act_ru_execution -
activiti用这个对象去描述流程执行的每一个节点 . 在没有并发的情况下 , Execution就是同PricessInstance . 流程按照流程定义的规则执行一次的过程 , 就可以用执行对象 Execution .
-
只有在有分支和汇合时
ProcessInstance==Execution1 + Execution2 -
只有在没有分支和汇合时
ProcessInstance==Execution -
如图

3.4 任务实例 TaskInstance¶
act_ru_task