v2.9.7介绍
2.9.7是LiteFlow 2023年的第一个版本。很抱歉这个版本来的晚了一点。
2.9.7提供了1个特性,5个增强,4个Bug修复,1个开源集成特性,总计11个issue的更新。
其中版本特性为迭代器组件,弥补了循环组件之前的不足。
迭代器组件
自从推出了循环组件之后,社区里反应使用体验一直不是很好。其主要因素在于循环组件需要自己去取到当前下标,然后根据下标再去取到对象,这样的过程太过于繁琐。
所以在这个版本,我们增加了一个组件类型:迭代器组件
。它也是属于循环组件的一种,结合java的特性,能更快的去循环一个集合。而不用去管下标。
最新的文档已经更新,如果要了解详细用法,可以去相关文档查看。
对规则异常的报错日志进行优化
在以前的规则异常报错中,社区里的同学一直看不懂报错信息,不知道自己写的规则哪里出了问题。
在新的版本中,我们加强了规则报错的日志丰富性,会用箭头指出具体的语法错误以及报错点。这样能更加方便的帮助使用者进行错误规则的排查。
脚本文件的绝对路径支持
LiteFlow的脚本通常大家是写在XML里的,但是对于较多篇幅的脚本时,之前LiteFlow提供了文件脚本这一特性,把脚本单独抽出来作为一个文件,一方面更加方便管理,一方面也有编辑器语法的更加丰富的提示管理。但是很遗憾,在之前的版本中,脚本文件只能定义在项目内。无法定义在本地绝对路径中,而这次,我们弥补了这一缺失。
组件内beforeProcess和afterProcess2个方法的优化
我们在新版本中移除了这2个方法的参数,使这2个方法变成了无参构造。
原因是组件内的任何方法都可以通过this
关键字来获得任何参数,原先有参数的确是多此一举了。
支持solon框架
我们和开源社区里的solon框架进行了集成,现在LiteFlow也支持solon了。如果有小伙伴使用solon的,也可以使用LiteFlow了。
众多细节点的增强和修复
对于一些不常见的场景,我们的测试用例有的没覆盖到,导致了一些问题,而这些问题在社区进行反应了之后,我们都给予了修复。
我不能保证新的版本是没有BUG的,但是对于大多数主要场景,LiteFlow 2.9.7拥有900多个测试用例,这些测试用例能保证其主要的使用体验和质量。所以,请放心使用。
完整更新列表
特性 #I6A2GL 增加迭代器表达式特性,用于迭代循环中的集合
https://gitee.com/dromara/liteFlow/issues/I6A2GL
增强 #I52TBW 增加与 Solon 框架的适配
https://gitee.com/dromara/liteFlow/issues/I52TBW
增强 #I691LD 对beforeProcess和afterProcess两个方法进行参数优化
https://gitee.com/dromara/liteFlow/issues/I691LD
增强 #I6BDN3 groovy脚本文件组件希望支持绝对路径
https://gitee.com/dromara/liteFlow/issues/I6BDN3
增强 #I679UX 组件参数设入json,支持在脚本组件中点操作符取到
https://gitee.com/dromara/liteFlow/issues/I679UX
增强 #I6A2FI 增强Slot元数据的存储,避免在多线程相同组件编排情况下可能造成的问题
https://gitee.com/dromara/liteFlow/issues/I6A2FI
增强 #I69QOB 动态创建组件时,脚本异常信息完善
https://gitee.com/dromara/liteFlow/issues/I69QOB
修复 #I6CJI9 修复循环组件中IF组件获取不了index的情况
https://gitee.com/dromara/liteFlow/issues/I6CJI9
修复 #I6ASNG 采用sql数据源形式,FlowExecutor项目初始化时,如果没有配置流程FlowBus.getChainMap()会判空则抛出异常
https://gitee.com/dromara/liteFlow/issues/I6ASNG
修复 #I69UVL 如果switch返回为空或者null,无法选取到default组件
https://gitee.com/dromara/liteFlow/issues/I69UVL
修复 #I66QPQ 从2.9开始启动报StackOverflowError
https://gitee.com/dromara/liteFlow/issues/I66QPQ