目录

 

1、引入依赖包:

(1)引入activiti依赖包:

(2)引入mysql驱动包:

2、安装画图插件:

(1)检查idea是否勾选安全连接:

(2)下载安装actibpm插件:

3、导入activiti表结构:

(1)编写代码:

(2)设置编码格式:

A、设置idea中文件编码格式:

B、设置idea启动软件编码格式:

(3)运行代码:

(4)查看表结构:

4、画测试流程图:

5、部署测试流程:

6、启动一个测试流程实例:

7、完成某人的测试流程实例:

8、流程核心API:

(1)逻辑关系:

(2)ProcessEngine(流程引擎):

(3)RepositoryService(仓库服务):

(4)RuntimeService(流程运行服务):

(5)TaskService(任务服务):

(6)HistoryService(历史服务):

(7)ProcessDefinition(流程定义):

(8)ProcessInstance(流程执行实例):

(9)Execution(执行流):


1、引入依赖包:

(1)引入activiti依赖包:

在pom.xml中引入activiti相关依赖jar包:

(2)引入mysql驱动包:

在pom.xml中引入连接mysql的驱动jar包:

2、安装画图插件:

(1)检查idea是否勾选安全连接:

去掉下图中的勾选,否则不能下载actibpm插件。

(2)下载安装actibpm插件:

在下图位置,输入:actibpm,如果安装就会有,如果没有安装进行搜索安装,然后重新启动idea即可。

3、导入activiti表结构:

(1)编写代码:

(2)设置编码格式:

A、设置idea中文件编码格式:

B、设置idea启动软件编码格式:

将idea软件安装路径下bin/idea.exe.vmoptions或bin/idea64.exe.vmoptions,根据安装idea的版本是否是64位的,如果不确定连个文件都修改,使用notepad++等软件打开后,添加一行代码:-Dfile.encoding=UTF-8

(3)运行代码:

将编写的获取activiti表结构的代码手动运行。

(4)查看表结构:

查看自己对应数据库中创建好的activiti相关的表结构。Activiti的后台是有数据库的支持,所有的表都以ACT_开头。 第二部分是表示表的用途的两个字母标识。用途也和服务的API对应。

ACT_RE_*: 'RE'表示repository。 这个前缀的表包含了流程定义和流程静态资源 (图片,规则,等等)。

ACT_RU_*: 'RU'表示runtime。 这些运行时的表,包含流程实例,任务,变量,异步任务,等运行中的数据。 Activiti只在流程实例执行过程中保存这些数据, 在流程结束时就会删除这些记录。 这样运行时表可以一直很小速度很快。

ACT_ID_*: 'ID'表示identity。 这些表包含身份信息,比如用户,组等等。

ACT_HI_*: 'HI'表示history。 这些表包含历史数据,比如历史流程实例, 变量,任务等等。

ACT_GE_*: 'GE'表示general。通用数据, 用于不同场景下,如存放资源文件。

详细介绍activiti表结构见:https://blog.csdn.net/LSY_CSDN_/article/details/104713796

4、画测试流程图:

在idea中创建一个bpmn格式的文件,然后手动拖动开始、标签、结束等图标,然后进行连线,最终创建成一个简单的流程图。

5、部署测试流程:

6、启动一个测试流程实例:

其中参数processKey,为act_re_procdef表中的KEY_字段值,框架会自动获取到该值得最新流程图。

7、完成某人的测试流程实例:

其中参数taskId,为act_ru_task表中的主键ID字段值,表示某个人某个待办任务ID。

8、流程核心API:

(1)逻辑关系:

在activiti中一个完成工作流程从开发、部署、发起审批任务、领导审批到历史任务整个完整流程步骤以及其中相关核心API的对应关系比较清晰,如下图所示:

(2)ProcessEngine(流程引擎):

ProcessEngine是activiti的流程引擎,是最核心的类,其他的类都是由它而来。产生方式如下:

可以产生RepositoryService:

可以产生RuntimeService:

可以产生TaskService:

可以产生HistoryService:

(3)RepositoryService(仓库服务):

RepositoryService是Activiti的仓库服务类。所谓的仓库指流程定义文档的两个文件:bpmn文件和流程图片,如果使用的是数据库存储模型,那么bpmn文件和流程图片就都会存储在数据库表中。

仓库服务产生方式:

仓库服务可产生DeploymentBuilder定义流程部署的相关参数:

仓库服务可以删除流程定义:

(4)RuntimeService(流程运行服务):

RuntimeService是activiti的流程执行服务类。可以从这个服务类中获取很多关于流程执行相关的信息。产生方式:

(5)TaskService(任务服务):

TaskService是activiti的任务服务类。可以从这个类中获取任务的信息。产生方式:

(6)HistoryService(历史服务):

HistoryService是activiti的查询历史信息的类。在一个流程执行完成后,这个对象为我们提供查询历史信息。产生方式:

(7)ProcessDefinition(流程定义):

ProcessDefinition是流程定义类。可以从这里获得资源文件等。产生方式:

(8)ProcessInstance(流程执行实例):

代表流程定义的执行实例。如范冰冰请了一天的假,她就必须发出一个流程实例的申请。一个流程实例包括了所有的运行节点。我们可以利用这个对象来了解当前流程实例的进度等信息。流程实例就表示一个流程从开始到结束的最大的流程分支,即一个流程中流程实例只有一个。产生方式:

(9)Execution(执行流):

Activiti用这个执行流去描述流程执行的每一个节点。

一个流程中,执行流可以存在多个,但是流程实例只能有一个;

当流程按照规则只执行一次的时候,那么流程实例就是执行流。

Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐