Activiti7入门
Activiti7入门
一、Activiti7数据库表结构
ACT_RE: 'RE'表示repository。这个前缀包含了流程定义和流程静态资源(图片,规则,等等)
ACT_RU: 'RU'表示runtime。包含流程实例,任务,变量,异步任务等运行时的数据,Activiti只在流程实例执行过程中保存这些数据,在流程结束后会将其记录删除。
ACT_HI: 'HI'表示history。包含历史数据,比如历史流程实例,变量,任务等等。
ACT_GE: 'GE'表示general。通用数据。
ACT_ID_*: 'ID'表示identity。这些表包含标识的信息,如用户,用户组,等等。
表名 | 解释 |
---|---|
ACT_GE_BYTEARRAY | 二进制数据表,存储通用的流程定义和流程资源。 |
ACT_GE_PROPERTY | 系统相关属性,属性数据表存储整个流程引擎级别的数据,初始化表结构时,会默认插入三条记录。 |
ACT_HI_ACTINST | 历史节点表 |
ACT_HI_ATTACHMENT | 历史附件表 |
ACT_HI_COMMENT | 历史意见表 |
ACT_HI_DETAIL | 历史详情表,提供历史变量的查询 |
ACT_HI_IDENTITYLINK | 历史流程人员表 |
ACT_HI_PROCINST | 历史流程实例表 |
ACT_HI_TASKINST | 历史任务实例表 |
ACT_HI_VARINST | 历史变量表 |
ACT_ID_GROUP | 用户组信息表 |
ACT_ID_INFO | 用户扩展信息表 |
ACT_ID_MEMBERSHIP | 用户与用户组对应信息表 |
ACT_ID_USER | 用户信息表 |
ACT_RE_DEPLOYMENT | 部署单元信息表 |
ACT_RE_MODEL | 流程设计模型表 |
ACT_RE_PROCDEF | 流程定义数据表 |
ACT_RU_EVENT_SUBSCR | 运行时事件 throwEvent、catchEvent 时间监听信息表 |
ACT_RU_EXECUTION | 运行时流程执行实例 |
ACT_RU_IDENTITYLINK | 运行时流程人员表,主要存储任务节点与参与者的相关信息 |
ACT_RU_JOB | 运行时定时任务数据表 |
ACT_RU_TASK | 运行时任务节点表 |
ACT_RU_VARIABLE | 运行时流程变量数据表 |
ACT_EVT_LOG | 事件日志 |
ACT_PROCDEF_INFO | 流程定义的动态变更信息 |
二、Activiti中各个service的作用
Service | 作用 |
---|---|
ManagerService | 提供了对 Activiti 流程引擎的管理和维护功能 |
RuntimeService | 执行管理,包括启动,推进,删除流程实例等操作 |
TaskService | 任务管理 |
HistoryService | 历史管理(执行完的数据管理) |
IdentityService | 组织机构管理 |
FormService | 任务表单管理(可选服务) |
2.1RepositoryService
是activiti的资源管理类,提供了管理和控制流程发布包和流程定义的操作。使用工作流建模工具设计的业务流程图需要使用此service将流程定义文件的内容部署到计算机。
除了部署流程定义以外还可以:查询引擎中的发布包和流程定义。
暂停或激活发布包,对应全部和特定流程定义。 暂停意味着它们不能再执行任何操作了,激活是对应的反向操作。获得多种资源,像是包含在发布包里的文件, 或引擎自动生成的流程图。
获得流程定义的pojo版本, 可以用来通过java解析流程,而不必通过xml。
2.2RuntimeService
Activiti的流程运行管理类。可以从这个服务类中获取很多关于流程执行相关的信息
2.3TaskService
Activiti的任务管理类。可以从这个类中获取任务的信息。
2.4HistoryService
Activiti的历史管理类,可以查询历史信息,执行流程时,引擎会保存很多数据(根据配置),比如流程实例启动时间,任务的参与者, 完成任务的时间,每个流程实例的执行路径,等等。 这个服务主要通过查询功能来获得这些数据。
2.5ManagementService
Activiti的引擎管理类,提供了对 Activiti 流程引擎的管理和维护功能,这些功能不在工作流驱动的应用程序中使用,主要用于 Activiti 系统的日常维护。
三、工作流引擎
ProcessEngine对象,这是Activiti工作的核心。负责生成流程运行时的各种实例及数据、监控和管理流程的运行。工作流引擎为我们提供相关规则概念的定义,给我们提供了相关的API来调用这个引擎去执行流程。流程的操作实际上就是工作流引擎提供相关的api我们去调用它。
3.1职责:
-
定义流程,也就是给我们提供某种规范来定义规则,以及如何定义一个流程的这种规范,同时我们可以根据工作流引擎提供的相关概念来定义更为复杂的流程,这就是工作流引擎做的第一件事叫做定义流程。
-
执行流程,也就是工作流引擎需要解释这个规则,还要负责流程,它相当于流程的调度者,监控每个流程的执行情况,并将流程操作发往下一步,或者根据条件休眠或终止流程的过程就叫做执行流程。
引用:https://www.jianshu.com/p/7fef2679a26b
四、BPMN2.0模型与符号
五、流程操作
5.1流程部署
将在设计器中设计好的流程图部署到Activiti数据库中,就是我们讲的流程部署。
通过调用Activiti的API将流程定义的bpmn和png两个文件添加到activiti中。
部署后的数据存放到3张表中:
表名 | 含义 |
---|---|
act_re_prodef | 流程定义表 |
act_re_deployment | 流程定义部署表 |
act_ge_bytearray | 流程资源表 |
链接好文:
https://dpb-bobokaoya-sm.blog.csdn.net/article/details/121866853?spm=1001.2014.3001.5502