activity6整合 springboot2第二篇

    科技2022-07-10  128

    在上篇中介绍了pom和启动,这篇重点介绍activity中的八大服务、流程图的画法、一些关键表信息

    1、八大服务

    通过RepositoryService部署流程文件,部署完成后通过RuntimeService对运行流程操作,对单个任务使用TaskService进行完成、指派,通过HistoryService对历史进行查询

    RepositoryService:提供一系列管理流程部署和流程定义的API。RuntimeService:在流程运行时对流程实例进行管理与控制。TaskService:对流程任务进行管理,例如任务提醒、任务完成和创建任务等。IdentityService:提供对流程角色数据进行管理的API,这些角色数据包括用户组、用户及它们之间的关系。ManagementService:提供对流程引擎进行管理和维护的服务。HistoryService:对流程的历史数据进行操作,包括查询、删除这些历史数据。FormService:表单服务。

    2、流程图

    部署前需要画流程图,流程图本质是一个xml文件,如果有能力的话,可以直接编写后缀为bpmn

    这样写出发非常熟,不然出错无法找,我用的eclipse,有对应的插件进行

    安装eclipse插件:Activiti Designer插件;地址:http://www.activiti.org/designer/update/

    菜单栏->help->install new software后点击add,复制上面的网址到location,name随便取,我已经安装了,就不安装了,如果是用ieda的朋友安装我就不介绍了,但是eclipse的文件到idea会有乱码,而且样式看起来也没有eclipse舒服

    下面是我之前其他项目的流程,之前不是用activiti做的,学习的时候我就用它做实验了,主要用到了开始事件、结束事件、排它网关、用户任务四个

    画图时需要关注eclipse的properties窗口

    选中空白处显示流程id和名称和其他信息

    选中任务显示任务的id和名称

    在main config中把这个任务指派给对应的角色或者个人进行审批

    选中某一条线在main config中设置条件,在listeners中添加监听器

    线条的event类型也不一样,需要根据具体的实际情况进行选择,我这里选择的事take,如果是审批拒绝就走对应的linster,${refuseListener}是spring的bean的名称,listener主要是对业务进行操作,这里可以获取到流程实例id,业务key,包括变量,变量需要自己上一步审批的时候放进去,流程实例id不用自己放,业务key是在启动的时候放入的。

    3、关键表信息

     

    act_ge_bytearray 二进制数据表 ,存放部署的流程数据,文件内容和图片

    act_ih_comment 历史意见表 存放一些审批信息

     act_re_procdef 流程定义数据表 流程定义的基本信息

     act_hi_taskinst 历史任务实例表

    act_hi_identitylink 历史流程人员表 

    由于表比较多,我就不全部截图了

    act_hi_actinst 历史节点表  act_hi_attachment 历史附件表  act_hi_detail 历史详情表,提供历史变量的查询  act_hi_procinst 历史流程实例表  act_hi_taskinst 历史任务实例表  act_hi_varinst 历史变量表 

     

    act_ru_execution 运行时流程执行实例表 

    act_ru_identitylink 运行时流程人员表,主要存储任务节点与参与者的相关信息 

    act_ru_task 运行时任务节点表 

    act_ru_variable 运行时流程变量数据表 

    activiti表命名都是act开头,中间是业务类型,最后是业务对应具体表

    act_ge_ 通用数据表,ge是general的缩写 act_hi_ 历史数据表,hi是history的缩写,对应HistoryService接口 act_id_ 身份数据表,id是identity的缩写,对应IdentityService接口 act_re_ 流程存储表,re是repository的缩写,对应RepositoryService接口,存储流程部署和流程定义等静态数据 act_ru_ 运行时数据表,ru是runtime的缩写,对应RuntimeService接口和TaskService接口,存储流程实例和用户任务等动态数据

    好了,这篇博客就到这里,下篇我们开始从代码层面进行流程的部署、审批和监听器使用

    Processed: 0.502, SQL: 8