前言
LiteFlow v2.9.5版本今天正式发布!带来了3个横向扩展特性和诸多增强。
LiteFlow是一个开源编排式规则引擎,能够让你的系统逻辑任意编排,可选用脚本书写逻辑,支持多达5种脚本语言,支持丰富的第三方存储的支持,所有的逻辑和规则均可热变更。设计系统和重构系统的神器。
利用LiteFlow,你完全可以使用脚本语言写出一个java项目。
LiteFlow是国内优秀的社区型开源项目,如果你是第一次知道这个项目,可以去官网或相关的主页进行了解:
项目官网:
gitee托管仓库:
https://gitee.com/dromara/liteFlow
github托管仓库:
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
,QLExpress
3种脚本语言已经够了,没想到社区里还真有人希望能支持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