分享好友 最新动态首页 最新动态分类 切换频道
LiteFlow规则引擎入门(结合mysql)
2024-12-26 20:05

一.使用背景

通常在项目开发过程中,对于一个具体的业务流程,可能需要若干个步骤(节点)协同完成,节点间存在上下文依赖,且根据不同的业务要求,节点的逻辑执行顺序可能会发生调整.那么对于可以复用的节点只是因为业务需求不同而发生了执行顺序的不同,为了灵活的满足业务需求,可以使用规则引擎进行灵活调度.

比如一件事需要经历5个步骤,每个步骤的逻辑依赖各自的上执行结果(共享上下文),而这5个步骤彼此间做的事情又是独立的,经过执行顺序的变化可以满足一系列的业务要求.那么可以使用规则引擎.

二.liteflow规则引擎介绍

liteflow是一个轻量,快速的组件式规则引擎框架,组件编排,帮助解耦业务代码,让每一个业务片段都是一个组件,并支持热加载规则配置,实现即时修改。

三.LiteFlow的设计原则
LiteFlow是基于工作台模式进行设计的,何谓工作台模式

n个工人按照一定顺序围着一张工作台,按顺序各自生产零件,生产的零件最终能组装成一个机器,每个工人只需要完成自己手中零件的生产,而无需知道其他工人生产的内容。每一个工人生产所需要的资源都从工作台上拿取,如果工作台上有生产所必须的资源,则就进行生产,若是没有,就等到有这个资源。每个工人所做好的零件,也都放在工作台上。

这个模式有几个好处

每个工人无需和其他工人进行沟通。工人只需要关心自己的工作内容和工作台上的资源。这样就做到了每个工人之间的解耦和无差异性。
即便是工人之间调换位置,工人的工作内容和关心的资源没有任何变化。这样就保证了每个工人的稳定性。
如果是指派某个工人去其他的工作台,工人的工作内容和需要的资源依旧没有任何变化,这样就做到了工人的可复用性。
因为每个工人不需要和其他工人沟通,所以可以在生产任务进行时进行实时工位更改:替换,插入,撤掉一些工人,这样生产任务也能实时的被更改。这样就保证了整个生产任务的灵活性。
这个模式映射到LiteFlow框架里,工人就是组件,工人坐的顺序就是流程配置,工作台就是上下文,资源就是参数,最终组装的这个机器就是这个业务。正因为有这些特性,所以LiteFlow能做到统一解耦的组件和灵活的装配。--引用

四.liteflow的使用

引入依赖

 

1.将需要进行编排的各个工作节点封装成单独的javabean

 

每个节点需要实现NodeComponent接口,并且实现process无参方法

节点上加上@@LiteflowComponent("节点名称")注解

该注解有两个功能:

(1)标识是个规则引擎节点

(2)创建节点名称,后续通过el表达式中的节点名称定位到具体工作节点

2.执行规则引擎

 

注入FlowExecutor类,调用execute2Resp方法(也有其他api,这里着重介绍该方法),

方法入参:

 

3.节点调用顺序如何控制

(1)配合xml文件,xml文件里面规范节点执行顺序,这里不做详细介绍,因为xml配置需要手动添加执行文件,不如配合mysql灵活性

(2)配合mysql灵活读取数据库中表配置的执行顺序

引入依赖

 

配置文件application.yml

 

数据库建表 

 注意,表和字段都可以自定义,只要跟配置文件对应上即可

添加表数据

实际项目应用中,可以通过前端托拉拽框架,灵活配置,将数据写入引擎表中

这里主要关注chain_name和el_data字段

chain_name字段值是前文中调用规则流方法 execute2Resp的第一个入参,框架会根据这个值去数据库中查询el_data字段值,加载到项目中执行引擎任务

执行execute2Resp方法过程中的上下文参数及获取最终返回结果

 

流程中操作上下文

 

el表达式--待补充

最新文章
软科中国大学排名总榜 被踢出双一流的三所大学
今天国际学校信息网小编整理了软科中国大学排名总榜 被踢出双一流的三所大学相关内容,希望能帮助到大家,一起来看下吧。1、软科中国大学排名总榜2、江苏大学排名3、被踢出双一流的三所大学2023软科中国大学排名(主榜)的上榜高校共有590
百度关键词和搜索词_百度关键词和搜索词什么意思
⊙﹏⊙ 指数显示:“牛市来了”等关键词搜索量创近年来新高百度指数、微信指数显示,“牛市”、“牛市来了”关键词的搜索量创近年来新高。截至9月25日,“牛市来了”关键词在百度指数中创4年新高,比多年的平均值高2.6倍。截至9月25日,“牛
最新版本apk漫画台
软件简介:漫画台是一款非常受欢迎的手机漫画阅读软件。它提供了丰富多样的漫画资源,涵盖了各类题材,满足了用户对于漫画阅读的需求。漫画台的界面简洁清晰,操作流畅,让用户可以轻松畅快地享受漫画阅读的乐趣。软件特色:1. 海量漫画资
航海家着力打造智能驾趣新生活 内外兼修
谈及一款车型,首先应该谈到的就是它的这款车的外观。外观延续家族化设计理念,前脸造型显得凶悍。车身侧面的线条来看,新车侧面轮廓的设计,在一定程度上拉长了该车的视觉效果。尾部通过线条的运用,让后屁股的立体感进一步加强,新车尾部
高清美女写真怎么拍?推荐几个超强AI工具和使用技巧!
限时免费,点击体验最近超火的AI生图神器,坐拥3000美女的大男主就是你! https://ai.sohu.com/pc/generate/textToImg?_trans_=030001_yljdaimn 在这个数码化迅猛发展的时代,AI技术正在改变我们生活的方方面面,特别是在图像生成领域。想
软考出分!有种劫后余生的感觉,考软考,主打一个查分也要看运气吗?
2.点击“查询成绩”后,将进入登录页面。接着使用报名时的账号进行登录。3.登录成功后将进入查询界面。在这里选择查询的年份「2024年下半年」。4.接收并输入正确的校验码。5.最后,点击“查询成绩”按钮,大家就可以查看自己的成绩了。PS:
Swin Transformer
自从Transformer[1]在NLP任务上取得突破性的进展之后,业内一直尝试着把Transformer用于在CV领域。之前的若干尝试,例如iGPT[2],ViT[3]都是将Transformer用在了图像分类领域,目前这些方法都有两个非常严峻的问题
隆鼻子大概要花多少钱
隆鼻手术的费用常常让人感到困惑,因为它并没有一个固定的价格。影响隆鼻费用的因素有很多,包括医院的级别、医生的经验、手术的复杂程度以及所在地区的消费水平等。一般来说,隆鼻手术的费用大致在几千到几万元不等。医院的级别和医生的经
金舟PDF编辑器
金舟PDF编辑器最新版是一款功能齐全的PDF编辑工具。金舟PDF编辑器最新版支持文件编辑、阅读、批注、添加注释、添加特效等功能,能够帮助用户轻松快速地完成各种PDF文件的处理工作。金舟PDF编辑器还支持自动识别字体,华军软件园金舟PDF编辑
靠谱的苹果id贷——第一时间100%下款+3分钟下款
苹果id贷,为您的苹果设备赋予“金钱魔法”! 年满18周岁且手机在手的您,快来申请。贷款额度灵活多样,根据您的手机型号而定,最高可达100000元。简单几步操作:注册登录,提交信息,上传证件,审核通过并换绑Apple ID,最快10分钟内放款,
相关文章
推荐文章
发表评论
0评