一种基于Activiti的微服务工作流方法技术

技术编号:26375380 阅读:22 留言:0更新日期:2020-11-19 23:44
本发明专利技术公开了一种基于Activiti的微服务工作流方法。它具体包括如下步骤:第一配置模块用于配置流程所需的各个监听,包括任务监听、执行监听;第一监听模块用于监听任务的触发及固定参数的设置,其中服务实现需要指向第一计算模块;第二监听模块用于监听执行的触发及固定参数的设置,其中服务实现需要指向第一计算模块;第一计算模块用于根据第一监听模块、第二监听模块所传递的参数进行整理、修正、归类;第二计算模块根据第一计算模块输出后的参数进行网关转发功能,指向具体的微服务接口或模块进行业务处理。本发明专利技术的有益效果是:通过针对微服务下的工作流场景,进行无侵入式的调用、通知其他微服务,实现各服务间的流程自动化。

【技术实现步骤摘要】
一种基于Activiti的微服务工作流方法
本专利技术涉及工作流相关
,尤其是指一种基于Activiti的微服务工作流方法。
技术介绍
在微服务的业务场景下实现在各个服务间的工作量流处理比较复杂,需要侵入各个微服务代码进行改造。在单一服务下创建的工作流无法自动通知其他服务进行额外工作处理。
技术实现思路
本专利技术是为了克服现有技术中存在上述的不足,提供了一种实现各服务间流程自动化的基于Activiti的微服务工作流方法。为了实现上述目的,本专利技术采用以下技术方案:一种基于Activiti的微服务工作流方法,包括第一配置模块、第一监听模块、第二监听模块、第一计算模块和第二计算模块,具体包括如下步骤:(1)第一配置模块用于配置流程所需的各个监听,包括任务监听、执行监听;第一配置模块同时用于流程监听并进入到流程流转,直至流程结束;(2)第一监听模块用于监听任务的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;第二监听模块用于监听执行的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;(3)第一计算模块用于根据第一监听模块、第二监听模块所传递的参数进行整理、修正、归类;(4)第二计算模块根据第一计算模块输出后的参数进行网关转发功能,指向具体的微服务接口或模块进行业务处理,异步处理结束。其中:流程流转指一个业务流程的流转处理,例如请假流程的提交、领导的审核等;流程结束:指一个业务流程的结束,例如请假流程的最终审核通过;自动触发:指当流程流转至某个环节时系统进行自动的操作;异步处理结束:指不影响整个流程流转的情况下进行的结束操作。本专利技术公开了一种基于Activiti的微服务工作流方法,包括第一配置模块、第一监听模块、第二监听模块、第一计算模块和第二计算模块,通过针对微服务下的工作流场景,进行无侵入式的调用、通知其他微服务,实现各服务间的流程自动化。作为优选,在步骤(1)中,针对第一配置模块具体地:通过流程环节的定义Listeners项中选择所需要定义的监听,包含Tasklisteners任务监听、Executionlisteners执行监听,同时设置部分流程变量供第一监听、第二监听模块使用。作为优选,在步骤(2)中,针对第一配置模块具体地:在Tasklisteners任务监听中固定Type为Delegate,Delegateexpression为第一计算模块提供的服务变量名称,Fields新增第二计算模块所需的微服务信息:serverName-微服务名称/地址、serverPath-微服务接口/服务地址、requestMethod-请求方式、其他业务参数视具体业务而定,格式参考以上即可,同时支持第一配置模块中设置的流程变量。其中:Fields指的是Activiti提供的一个字段管理服务的名称,用于声明一些自定义的变量名称,在流程流转中使用。作为优选,步骤(2)中,针对第二监听模块具体地:在Executionlisteners任务监听中固定Type为Delegate,Delegateexpression为第一计算模块提供的服务变量名称,Fields新增第二计算模块所需的微服务信息:serverName-微服务名称/地址、serverPath-微服务接口/服务地址、requestMethod-请求方式、其他业务参数视具体业务而定,格式参考以上即可,同时支持第一配置模块中设置的流程变量。作为优选,在步骤(3)中,针对第一计算模块具体地:此模块需要提供一个公共服务实现供Tasklisteners任务监听中的Delegateexpression使用以及Executionlisteners任务监听中的Delegateexpression使用,实现org.activiti.engine.delegate.TaskListener、org.activiti.engine.delegate.ExecutionListener接口即可,重点是在实现notify方法中对监听中配置的参数:serverName-微服务名称/地址、serverPath-微服务接口/服务地址、requestMethod-请求方式进行整理封装,务必保证第二计算模块所需的参数全都已设置,如果未设置需要进行修正进行默认处理,最后根据监听类型进行第二计算模块的调用。其中:org.activiti.engine.delegate.TaskListener指的是Activiti提供的一个公共任务监听服务接口,如果当前业务需要自己的业务逻辑,就需要实现该接口;org.activiti.engine.delegate.ExecutionListener指的是Activiti提供的一个公共执行监听服务接口,如果当前业务需要自己的业务逻辑,就需要实现该接口;notify是TaskListener及ExecutionListener接口中需要实现的一个方法,里面用来编写自定义的业务逻辑操作。作为优选,在步骤(4)中,针对第二计算模块具体地:经过第一计算模块的处理,已经可以拿到当前监听需要转发的微服务进行,此时需要根据请求方式进行接口调用,附带各类业务参数。本专利技术的有益效果是:通过针对微服务下的工作流场景,进行无侵入式的调用、通知其他微服务,实现各服务间的流程自动化。附图说明图1是本专利技术的方法流程图。具体实施方式下面结合附图和具体实施方式对本专利技术做进一步的描述。如图1所述的实施例中,一种基于Activiti的微服务工作流方法,包括第一配置模块、第一监听模块、第二监听模块、第一计算模块和第二计算模块,具体包括如下步骤:(1)第一配置模块用于配置流程所需的各个监听,包括任务监听、执行监听;第一配置模块同时用于流程监听并进入到流程流转,直至流程结束;针对第一配置模块具体地:通过流程环节的定义Listeners项中选择所需要定义的监听,包含Tasklisteners任务监听、Executionlisteners执行监听,同时设置部分流程变量供第一监听、第二监听模块使用。(2)第一监听模块用于监听任务的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;第二监听模块用于监听执行的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;针对第一配置模块具体地:在Tasklisteners任务监听中固定Type为Delegate,Delegateexpression为第一计算模块提供的服务变量名称,Fields新增第二计算模块所需的微服务信息:serverName-微服务名称/地址、serverPath-微服务接口/服务地址、requestMethod-请求方式、其他业务参数视具体业务而定,格式参考以上即可,同时支持第一配置模块中设置的流程变量。针对第二监听模块具体地:在Executionlisteners任本文档来自技高网...

【技术保护点】
1.一种基于Activiti的微服务工作流方法,其特征是,包括第一配置模块、第一监听模块、第二监听模块、第一计算模块和第二计算模块,具体包括如下步骤:/n(1)第一配置模块用于配置流程所需的各个监听,包括任务监听、执行监听;第一配置模块同时用于流程监听并进入到流程流转,直至流程结束;/n(2)第一监听模块用于监听任务的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;第二监听模块用于监听执行的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;/n(3)第一计算模块用于根据第一监听模块、第二监听模块所传递的参数进行整理、修正、归类;/n(4)第二计算模块根据第一计算模块输出后的参数进行网关转发功能,指向具体的微服务接口或模块进行业务处理,异步处理结束。/n

【技术特征摘要】
1.一种基于Activiti的微服务工作流方法,其特征是,包括第一配置模块、第一监听模块、第二监听模块、第一计算模块和第二计算模块,具体包括如下步骤:
(1)第一配置模块用于配置流程所需的各个监听,包括任务监听、执行监听;第一配置模块同时用于流程监听并进入到流程流转,直至流程结束;
(2)第一监听模块用于监听任务的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;第二监听模块用于监听执行的触发及固定参数的设置,其中服务实现需要指向第一计算模块,并自动触发进入到流程流转;
(3)第一计算模块用于根据第一监听模块、第二监听模块所传递的参数进行整理、修正、归类;
(4)第二计算模块根据第一计算模块输出后的参数进行网关转发功能,指向具体的微服务接口或模块进行业务处理,异步处理结束。


2.根据权利要求1所述的一种基于Activiti的微服务工作流方法,其特征是,在步骤(1)中,针对第一配置模块具体地:通过流程环节的定义Listeners项中选择所需要定义的监听,包含Tasklisteners任务监听、Executionlisteners执行监听,同时设置部分流程变量供第一监听、第二监听模块使用。


3.根据权利要求2所述的一种基于Activiti的微服务工作流方法,其特征是,在步骤(2)中,针对第一配置模块具体地:在Tasklisteners任务监听中固定Type为Delegate,Delegateexpression为第一计算模块提供的服务变量名称,Fields新增第二计算模块所需的微服务信息:serverName-微服务名称/地址、serverPath-微服务接口/服务地址、requestMethod-请求方式、其他业务参数视具体业务而定,格式参考以上即可,同时支持第一配置模块中设置的流程变量。

【专利技术属性】
技术研发人员:代存折李妃军
申请(专利权)人:杭州当虹科技股份有限公司
类型:发明
国别省市:浙江;33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1