前言
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
增强 #IAVH8O 把scanner当中的步骤抽象出来,形成一套小的体系,方便的扩展
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