> Linux新闻 >

LiteFlow 2.12.4 发布!超好用的国内规则引擎框架

前言

LiteFlow 的最新版本 2.12.4 发布了!

在这个版本里,我们带来了 2 个大特性和诸多的升级。同时这个版本也是向下兼容 2.12.X 系列的版本的。

JavaX 脚本

LF 从很早就开始支持 Java 脚本,让 java 代码可以像一种脚本语言那样运作,使用 java 语言编写可以随时热刷新的代码成为了现实,这个脚本很酷,但是社区里一直诟病的就是 LF 的 java 脚本竟然不支持 lambda 和泛型。

这是因为之前 java 脚本底层用的是 Janino 框架,这个框架是个老外写的,这个项目已经很久没更新过了并且作者表示不高兴去支持 lambda 和泛型了。所以我也是没辙。

这次新的 Javax 采用 Liquor 框架的方案,支持了 java8 到 java21 中所有的用法,多谢 solon 作者提供 Liquor 底层的技术支持,才得以让 LF 解决了一个困扰多时的问题。使得 Java 脚本得到了一次大的升级!

如果开发者想要从 Java 脚本更新到 Javax 脚本,请看官网的升级指南。

#全新的生命周期体系

在 2.12.4 版本中,LF 提供了生命周期体系。开发者可以很方便的实现一些既定的生命周期接口,从而在特定的生命周期织入自定义逻辑。

LF 这次提供了 5 个大的生命周期阶段的接口,扩展 LF,让自己的逻辑变得灵活成为了可能。

具体如何使用请参考官网的生命周期全新章节。

数据库插件支持配置自定义 SQL

这也是为开发者提供了更加灵活自由的选择,现在开发者可以忽视掉 applicationName,enable 等字段,自己去定义 SQL 来返回系统所需要加载的规则 / 脚本。

具体如何使用请参考官网文档中的 SQL 数据库配置源。

其他的更新

另外这个版本,我们还修复了一直以来困扰开发者的异步循环中的并发问题。

提供了域名版本的 dtd 文件。

完整更新列表

特性 #IASS9Z 新的JavaX脚本插件,支持java8~java17的所有语法特性

https://gitee.com/dromara/liteFlow/issues/IASS9Z

特性 #IAJD9H 期望liteflow 有自己的生命周期扩展

https://gitee.com/dromara/liteFlow/issues/IAJD9H

增强 #IASYI0 提供脚本初始化生命周期的扩展点

https://gitee.com/dromara/liteFlow/issues/IASYI0

增强 #I9H6GY SQL脚本在配置上支持用户自定义的过滤条件

https://gitee.com/dromara/liteFlow/issues/I9H6GY

增强 #IAVH8Oscanner当中的步骤抽象出来,形成一套小的体系,方便的扩展

https://gitee.com/dromara/liteFlow/issues/IAVH8O

增强 #IANY4U 组件中提供getCmpDataList接口

https://gitee.com/dromara/liteFlow/issues/IANY4U

增强 #I5XB03 提供带域名的dtd文件地址,加强xml的提示

https://gitee.com/dromara/liteFlow/issues/I5XB03

修复 #IASW3I 异步循环迭代组件中迭代对象以及迭代下标存在并发问题

https://gitee.com/dromara/liteFlow/issues/IASW3I



(责任编辑:IT)