1.Activiti的表说明
使用25张表
ACT RE 流程定义和流程资源
ACT RU 运行时,流程实例、任务、变量
ACT HI 历史表
ACT GE 通用表,
2.Activiti的架构、类关系图2
获取流程引擎的工具类
获取流程引擎的工具类ProcessEngines.使用默认方式获取配置文件,构造流程引擎。配置文件名字activiti.cfg.xml,放在classpath下ProcessEngineConfiquration.可以自定义配置文件名
使用上面2个工具类,都可以获得流程引擎
ProressEnqine:流程引警。获取各种服务的接口。
- 服务接口:用于流程的部署、执行、管理,使用这些接口就是在操作对应的数据表
Repositoryservice 资源管理类
Runtimeservice 运行时管理类
TaskserviceHistoryservice 任务管理类
Historyservice 历史数据管理类
Managementservice 流程引擎管理类
3.BPM插件
idea安装actiBPM插件
4.流程符号、画流程图
- 流程符号:事件Ewent、活动Activity,网关Gateway,流向
使用流程设计器画出流程图
bpmn文件本质上是XML文件,因为安装actiBpM插件,才能可视化的看到流程内容
创建bpmn文件,在流程设计器使用流程符号来表达流程。指定流程的Key,指定任务负责人
生成PNG文件,把bpmn文件后缀改为zm1,在这个文件上右键选择Diagrams-》show BPMN2.0 Desinger,打开窗口,点击导出文件选择导出文件类型为PNG。要注意乱码的问题。
5.部署流程
使用Activiti提供的API把流程图的内容写入数据库中
属于资源类操作,使用Repositoryservice
单文件部署:把bpmn文件和png文件一个一个处理
压缩包部署:把bpmn文件和png打压缩包来处理Deployment deploy= repositoryService.createDeployment()
- 部署操作表:
act_re_deployment 部署表
act_re_procdef 流程定义表
act_ge_bytearray 资源表
6.启动流程实例
使用Runtimeservice根据流程定义的Key
- 核心代码:
ProcessInstance instance =runtimeservice.startprocessInstanceByKey("myEvection");- 操作表:
act_hi_actinst 流程实例执行历史信息
act_hi_identitylink 流程参与用户的历史信息
act_hi_procinst 流程实例的历史信息
act_hi_taskinst 流程任务的历史信息
act_ru_execution 流程执行信息
act_ru_identitylink 流程的正在参与用户信息
act_ru_task` 流程当前任务信息
7.任务查询
使用Taskservice,根据流程定义的ey,任务的负责人来进行查询核心代码:
List<Task> taskList =taskservice.createTaskQuery().processDefinitionKey("myEvection")//流程Key.taskAssignee("zhangsan")//要查询的负责人
.list();
8.任务完成
- 使用Taskservice,用任务Id完成任务核心代码:
taskservice.complete("2505");
网友评论