乐趣区

关于开源软件:LiteFlow-v294发布一款能让你系统支持热更新编排脚本编写逻辑的国产规则引擎框架

前言

上海的天气降温让人猝不及防,然而咱们的迭代速度却颠三倒四。

明天咱们带来了 LiteFlow v2.9.4 版本。

咱们每次的公布的 issue 有很大一部分依靠于咱们的使用者社区,社区人越来越多。我看到了使用者在应用过程中遇到的问题,也收集了很多应用过程中很有意思的倡议。这些也正是咱们每一次迭代的方向。谢谢那么多的小伙伴的反对和倡议,LiteFlow 始终会是一个以社区为驱动的开源框架。

LiteFlow 是一个开源编排式规定引擎,可能让你的零碎逻辑任意编排,应用脚本书写逻辑,所有的逻辑和规定均可热变更。设计零碎和重构零碎的神器。

如果你是第一次晓得这个我的项目,能够去官网或相干的主页进行理解:

我的项目官网:

https://liteflow.yomahub.com

gitee 托管仓库:

https://gitee.com/dromara/lit…

github 托管仓库:

https://github.com/dromara/li…

v2.9.4 介绍

新版本咱们仍旧依靠于社区,一共实现了 14 个 issue。

其中 80% 的 issue 来自于社区使用者。

2.9.4 版本齐全兼容 2.9.3 版本,能够无缝降级。

新的脚本引擎

鉴于之前社区有人反馈 LiteFlow 提供的 Javascript 脚本引擎是基于 jdk 的,而 JDK 的 Javascript 引擎只反对到 ES5 标准,且不反对 Java 17。

所以这次咱们新增了一个 Javascript 引擎:GraalJs。反对 ES6 标准,且反对 Java 8~17。

当然老的引擎咱们还是保留,如果是简略的 js 语法,你仍旧能够用老的引擎。

对于这块详情请参考官网的 抉择脚本语言 章节。

提供规定验证接口

尽管 LiteFlow 在启动时会去编译所有的规定,如果有错也会具体报出,然而在更改脚本前,使用者可能不太确信本人的规定写的有没有问题。所以在社区内,有人提出了心愿减少一个验证规定的接口。

那这次咱们也提供了相应的接口。详情请参考官网的 验证规定 章节。

Zk 和 Etcd 反对部分刷新机制

如果你应用 zk 或者 Etcd,你在 zk 和 etcd 里更改了规定,会主动推送到相应的利用进行无感主动刷新。

然而之前的实现模式是全副刷新,即不论你改了哪个规定,所有的规定刷新一遍。尽管 LiteFlow 刷新速度十分疾速,然而这种实现模式还是不够优雅。

这次咱们实现了部分刷新,即你扭转哪个即刷新哪个。

申明式组件的二次动静代理问题

在社区内,咱们也收到了许多应用申明式组件个性小伙伴们的反馈,在申明式组件上应用相似事务标注等须要动静代理的个性时,LiteFlow 的申明式组件会报错。

通过核验,咱们发现 LiteFlow 之前漏思考了二次动静代理的问题,这次咱们修复了。

其余修复

在新版本中,咱们修复其余 issue 也有很多,包含脚本对元数据取值的 bug,@ScriptBean 标注所带来的一些小问题,脚本异样解决的优化等等。

残缺更新列表

个性 #I61XYZ 额定提供 GraalJs 引擎,在 js 上多一个抉择

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

加强 #I63C31 zk,etcd 反对只刷新扭转的局部

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

加强 #I61EMZ 减少一个验证 EL 规定的 api,供查看之用

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

加强 #I633VH 倡议 FlowBus 提供批量移除子链办法

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

加强 #I61RI0 心愿能够凋谢对 QLExpress 的一些操作!https://gitee.com/dromara/liteFlow/issues/I61RI0

加强 #I622I9 外部代码标准 ChainName 和 ChainId 问题

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

加强 #I61LYN 标准问题和 不必要的 import 常量提取等

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

修复 #I62PV3 申明式组件如果把 LiteflowMethod 定义在父类中,不执行

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

修复 #I62DT1 如果对上下文标注 @ScriptBean,那么脚本和 java 中拿到的上下文并不是同一个上下文

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

修复 #I61H49 脚本异样心愿能够抛出到 response

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

修复 #I631ZF groovy 脚本接入时,自定义异样抛出后被组件失败异样笼罩

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

修复 #I61HIO 办法级的组件申明,而后在办法上打 Spring 的事务注解 @Transactional,会报错

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

修复 #I62CB8 脚本与 java 交互取元数据的问题

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

修复 #I61UZ6 switch 抉择组件应用标签在同一组件时固定选到最初一个

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

社区

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

如果你在应用和学习中有任何问题,能够通过以下形式进入社区进行发问:

https://liteflow.yomahub.com/…

退出移动版