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…