LiteFlow v2.10.5发布,这个强大的规则引擎值得一用

LiteFlow介绍

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

LiteFlow也是Gitee的高star项目,曩昔一年来保持了非常快的增长趋势。

一起LiteFlow也是国内优异的社区驱动型开源项目,开源将近3年,目前现已被各大公司应用在核心系统上。特性以及支撑度都非常好。社区人数超过3000人。

假如你是第一次知道这个项目,能够去官网或相关的主页进行了解:

项目官网:

liteflow.yomahub.com

gitee保管库房:

gitee.com/dromara/lit…

github保管库房:

github.com/dromara/lit…

LiteFlow v2.10.5

v2.10.5版本首要就是对日志从底层进行架构改造。增加了支撑传入自定义的恳求ID。

以及修正了一些循环表达式中的Bug。

我们对日志进行了大幅度的改造,支撑了自定义的RequestId传入,这个特性能够很便利的和你自己系统的traceId进行集成。

你能够调用如下方法来传入一个已有的requestId:

LiteflowResponse response = flowExecutor.execute2RespWithRid("chain1", arg, "T001234", YourContext.class);

那么,这个链路中所有的框架日志都会带有[T001234]这个传入的ID前缀了。

别的新版本的LiteFlow还供给了一个日志包装类。只需你在组件中把slf4j的日志声明换成如下形式,那么你在组件中自己打出的日志也会带有恳求ID前缀。

private final LFLog logger = LFLoggerManager.getLogger(FlowExecutor.class);

其中LFLog这个类是承继自slf4j的Logger类的,所以它的运用方法和Logger是完全一致的。

你只需要把定义换一下就ok了。

假如在一个链路中相同恳求的日志都拥有同一个恳求ID,那么关于定位问题来说,会很便利。引荐我们运用此特性。

循环场景中的一些bug的修正

看来我们对循环特性运用的仍是比较多的。在运用的过程中,社区内也给出了许多反应定见。

可能是之前对循环定义的测试用例有些少了,所以关于一些场景没覆盖到。这次修正了社区内供给的2个Bug。

一起也补全了测试用例。

完好更新列表

增强 #I7F567 增加对事务自定义requestId传入的支撑
https://gitee.com/dromara/liteFlow/issues/I7F567
修正 #I7EKS8 在isAccess中进行setIsEnd(true)流程没有结束的问题
https://gitee.com/dromara/liteFlow/issues/I7EKS8
修正 #I7EKP3 同一个线程里别离调用2个Chain,currObj没有阻隔的情况
https://gitee.com/dromara/liteFlow/issues/I7EKP3
修正 #I7E8RN 次数循环组件 下标获取问题
https://gitee.com/dromara/liteFlow/issues/I7E8RN

支撑和资助LiteFlow

开源一个项目并坚持2年并不简单,假如各位对LiteFlow这个项目有信心并且愿意支撑的话,能够在官网首要点击*给LiteFlow发电*按钮。

但不管你是否挑选资助,我仍然会在社区里尽可能的解决你们的问题。

社区里的问题太多,假如没回答上,请多艾特我几遍。

如何加群

LiteFlow的社区群现已有大约3000人以上了。你有任何问题,都能够在群里问。

关于加群的方法,请参考:liteflow.yomahub.com/pages/73c2c…