写 Java 项目,何必用 Java!LiteFlow v2.9.5 版本发布

时间:2022-12-13 09:11:35

写 Java 项目,何必用 Java!LiteFlow v2.9.5 版本发布

写 Java 项目,何必用 Java!LiteFlow v2.9.5 版本发布

前言

LiteFlow v2.9.5版本今天正式发布!带来了3个横向扩展特性和诸多增强。

LiteFlow是一个开源编排式规则引擎,能够让你的系统逻辑任意编排,可选用脚本书写逻辑,支持多达5种脚本语言,支持丰富的第三方存储的支持,所有的逻辑和规则均可热变更。设计系统和重构系统的神器。

利用LiteFlow,你完全可以使用脚本语言写出一个java项目。

LiteFlow是国内优秀的社区型开源项目,如果你是第一次知道这个项目,可以去官网或相关的主页进行了解:

项目官网:

https://liteflow.yomahub.com

gitee托管仓库:

https://gitee.com/dromara/liteFlow

github托管仓库:

https://github.com/dromara/liteflow

v2.9.5介绍

新版本我们完成了9个issue,其中包含着3个特性。

2.9.5版本的重点是横向扩展能力。

至此,LiteFlow在存储插件上原生支持了所有的关系型数据库,3种流行注册中心,1个配置中心。总共5个插件,这应该囊括了大部分人的选择了。

LiteFlow在2.9.5版本中,一举在脚本支持度上又新增2种语言,python和lua。至此,已经支持了多达5种脚本语言。

写java项目,何必用Java?

LiteFlow可以让你做到一个Java项目,所有的业务代码都可以是脚本。所有的一切皆可热刷新。

支持Apollo

感谢社区哈啰团队的贡献者,为LiteFlow提供了Apollo的支持插件。

LiteFlow未来会支持越来越多的其他第三方中间件。

关于Apollo插件的使用方式详见官网的Apollo配置源章节。

提供Python和Lua脚本语言的支持

之前我以为提供了Groovy,Javascript,QLExpress3种脚本语言已经够了,没想到社区里还真有人希望能支持python。

好在LiteFlow在脚本基础层已经有了非常易扩展的机制,我们这次不光提供了python的支持,还提供了lua的支持。不知道有没有喜欢lua这种脚本语言呢,写过redis的脚本的同学一定不会陌生吧。

前置后置节点的增强

之前前置和后置节点只能在表达式的第一层能执行,这无疑对使用者来是说,会有一定的限制。

我原先觉得这个很难被更改。因为想要更改就必须动一些底层的代码。所以一直没有优化这个特性。

这次在翻看代码的时候发现我原先想的可能有点复杂了,这个问题其实没那么复杂。所以这次终于给修掉了。

选择组件的DEFAULT关键字

在新版本中,我们对选择组件额外增加了一个关键字DEFAULT,使得能够在无法匹配到任一选项时默认执行一个选项。这在有些场景是非常实用的。

详情请见官网的选择编排章节。

完整更新列表

特性 #I63WME 希望支持Apollo配置中心配置规则功能

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

特性 #I64PDW 增加Python脚本支持

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

特性 #I64T29 增加脚本语言Lua的支持

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

增强 #I64T00 希望给 SWITCH 增加一个 default 特性

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

增强 #I62NEK EL解析方式PRE、FINALLY在嵌套子链中不生效

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

增强 #I64L3Q 期望拓展@ScriptBean注解,能注入指定类的指定方法

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

增强 #I64HY4 LiteFlowNodeBuilder的添加节点代码优化

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

增强 #I64SY6 期望能完善错误信息的提示

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

修复 #I5XUQS 配置不同格式规则加载时,若EL规则文件不存在,启动会报错。

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

关于社区

社区

LiteFlow的社区是一个异常活跃的开源社区,这里有许多的开源大佬,技术大牛,群内的小伙伴也很乐意帮你去回答问题。

如果你在使用和学习中有任何问题,可以通过以下官网或者以下方式进入社区群。

具体加入方式:https://yomahub.com/liteflow/blog/group-chat