优秀国产规则引擎框架,LiteFlow 发布 v2.12.2 版本
LiteFlow是一个开源编排式规则引擎,能够让你的系统逻辑任意编排,可选用脚本书写逻辑,支持多达8种脚本语言,支持丰富的第三方存储的支持,所有的逻辑和规则均可热变更。设计系统和重构系统的神器。
LiteFlow是Gitee的高star项目,截止到发此文章的时候,Gitee star超过6.2k,Github则拥有2.8Kstar。
同时LiteFlow也是国内优秀的社区驱动型开源项目,开源3年多,目前已经被各大一线公司应用在核心系统上,据不完全统计,国内将近千余家公司都在使用。特性以及支持度都非常好。社区人数超过5000人。测试用例1800多个,质量有保障。
如果你是第一次知道这个项目,可以去官网或相关的主页进行了解:
项目官网:https://liteflow.cc
以下文章LiteFlow简称为LF。
前言
LF 2.12.2.1发布啦!
肯定有小伙伴会奇怪,这次怎么最后还有个点1呢。因为2.12.2
本来已经发布,但是这期间社区里有个同学用到了声明式的异常事件监听功能,发现有一个bug并立即上报了。我在查清楚原委之后觉得这应该被尽快修复,所以在2.12.2
后面又打了个补丁版本。
但是这并不代表2.12.2
就不能用,如果你没有用到声明式的异常事件监听功能,那么2.12.2
和2.12.2.1
是完全一致的。
这次的2.12.2.1
版本没有带来大的特性,算是常规性迭代,但是也带了很多功能的增强和一些bug的修复。这些issue都来自于社区。
所以更加说明了我们是非常重视社区的。
这次版本带来了13个issue的更新,包括8个增强和5个修复。接下来我会挑一些来介绍。
决策路由支持刷新
决策路由自从2.12.0推出以来,我们一直在对决策路由做一些优化。比如2.12.1版本支持了数据库中使用决策路由,以及决策路由的命名空间。这次我们对决策路由的调整是:支持了决策路由的刷新。
如果决策路由配置在数据库中,并开启了轮询,那么改变等待轮询即可刷新决策路由。如果没有开启轮询,你现在可以通过调用以下api来完成刷新:
FlowBus.reloadChain("chain1", "THEN(a, b, c)", "AND(r1, r2)");
是的,它是一个重载方法,它还有一个两个参数的方法,那是单独刷新规则的,现在它的重载可以连带规则和路由一起刷新了。
SQL插件的轮询逻辑优化
在这之前,一直有社区里的同学反映,在使用数据库存储规则和脚本时,单更新脚本和单更新规则,自动刷新都正常,但是同时更新了规则和脚本,刷新就会一直失效。
我们这次修复了这个问题。现在无论你怎么更新,自动刷新都会生效。
上下文支持超类获取
这也是社区一位使用者提出的建议,有些上下文的设计是有超类的。在公共组件里希望可以用超类去获取上下文。这样更利于公共组件的定义。
这次我们支持了这一形式的获取。你的上下文既可以用本身的Class获取,也可以用它的超类去获取。
EL的构建现在支持retry属性的构建了
如果经常用动态代码构建规则特性的小伙伴应该知道,LF里有个ELBus对象,是可以很方便的通过代码来构建出规则的。
之前不支持retry属性,这次我们不仅支持了retry。而且我们把ELBus的核心代码部分重构了一遍,更加合理,更加高效。
全部更新列表
增强 #IAE5PA FlowBus中提供刷新route的api方法 https://gitee.com/dromara/liteFlow/issues/IAE5PA 增强 #IACEH9 SQL插件中的轮询逻辑优化 https://gitee.com/dromara/liteFlow/issues/IACEH9 增强 #IACEGB 上下文超类判断的获取和转换 https://gitee.com/dromara/liteFlow/issues/IACEGB 增强 #IA9QBG el-builder的部分重构 https://gitee.com/dromara/liteFlow/issues/IA9QBG 增强 #IA9NOI ELBus中增加对retry构建的api支持 https://gitee.com/dromara/liteFlow/issues/IA9NOI 增强 #IA6E3Q redis配置的时候可以指定Redisson的链接数,默认的connections太多了 https://gitee.com/dromara/liteFlow/issues/IA6E3Q 增强 #IA8B3T 插件 throw Exception 会丢失堆栈 https://gitee.com/dromara/liteFlow/issues/IA8B3T 增强 #IABK5C 校验 EL 表达式,获取校验失败原因 https://gitee.com/dromara/liteFlow/issues/IABK5C 修复 #IA5PAK ELBus串行编排不支持对每个节点进行超时配置 https://gitee.com/dromara/liteFlow/issues/IA5PAK 修复 #IAD2HH 希望支持执行节点日志与监控日志的分开管理 https://gitee.com/dromara/liteFlow/issues/IAD2HH 修复 #IACSQ8 liteflow-solon-plugin 启动报错 https://gitee.com/dromara/liteFlow/issues/IACSQ8 修复 #IADIXE 使用迭代循环组件,下游getCurrLoopObj()获取为null https://gitee.com/dromara/liteFlow/issues/IADIXE 修复 #IAFKQV 声明式的onError方法取不到Exception https://gitee.com/dromara/liteFlow/issues/IAFKQV

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rust 1.80.0 发布
Rust 1.80.0 稳定版现已发布,主要带来以下变化: LazyCell和LazyLock 新的“lazy”类型将值的初始化延迟到首次访问,它们类似于1.70 中稳定的OnceCell和OnceLock类型,但单元格中包含了初始化函数。这完成了从流行的和板条箱中采用到标准库中的功能的稳定化。完成了从lazy_static和once_cellcrates到标准库中所采用功能的稳定化。 LazyLock 是线程安全选项,适用于staticvalues等地方。 use std::sync::LazyLock; use std::time::Instant; static LAZY_TIME: LazyLock<Instant> = LazyLock::new(Instant::now); fn main() { let start = Instant::now(); std::thread::scope(|s| { s.spawn(|| { println!("Thread lazy time is {:?}", LAZY_TIME.duration...
- 下一篇
Taro 4.0.3 发布,包含 4.x 以来所有改动
Taro 4.0.3 现已发布。Taro 是一个开放式跨端跨框架解决方案,支持使用 React/Vue/Nerv 等框架来开发微信 / 京东 / 百度 / 支付宝 / 字节跳动 / QQ 小程序 / H5 等应用。 此版本为第一个 Tag 为 latest 的 4.x 版本,所以此发布记录包括了 4.x 以来所有的改动: 鸿蒙端平台支持 —— Web To Harmony 小程序性能优化 —— CompileMode React Native 适配升级 —— 支持 0.73 版本 新的编译系统支持 —— Vite 基建更新改造 —— Rust 新的 DSL 框架支持 —— Solidjs 更新说明:https://github.com/NervJS/taro/releases/tag/v4.0.3
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Mario游戏-低调大师作品
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题