新的面貌!LiteFlow 发布大版本 v2.11.0,五大新特性,国内新一代的规则引擎!
LiteFlow介绍
LiteFlow是一个开源编排式规则引擎,能够让你的系统逻辑任意编排,可选用脚本书写逻辑,支持多达6种脚本语言,支持丰富的第三方存储的支持,所有的逻辑和规则均可热变更。设计系统和重构系统的神器。
LiteFlow是Gitee的高star项目,过去一年来保持了非常快的增长趋势。
同时LiteFlow也是国内优秀的社区驱动型开源项目,开源将近3年,目前已经被各大公司应用在核心系统上。特性以及支持度都非常好。社区人数超过3000人。测试用例将近1200个,质量有保障。
如果你是第一次知道这个项目,可以去官网或相关的主页进行了解:
项目官网:
https://liteflow.cc
gitee托管仓库:
https://gitee.com/dromara/liteFlow
github托管仓库:
https://github.com/dromara/liteflow
v2.11.0介绍
v2.11.0是一个大版本,LiteFlow提供了5个大的新特性,以及3个加强,2个bug修复。
LiteFlow同时更换了新的项目Logo和启动了新的域名。
LF在这个版本改头换面,以全新的姿态继续向前冲~
新的项目LOGO
感谢设计师Evan Lou
的帮助,为LiteFlow带来了全新的Logo。🤙
新Logo寓意:
1.整体是一片树叶形状,树叶既代表了轻量,也象征着LiteFlow会一直像树叶那样进行光合作用,释放氧气。
2.叶子里的叶脉是一个L和F的交错变体,象征着LiteFlow的缩写。
3.叶脉简单且延展开,象征流程的分叉。
4.整个叶子被叶脉分隔成4部分,象征着编排,4个不同的部分组成了一片完美的叶子。
启用全新域名
LiteFlow在v2.11.0启用了全新的域名:https://liteflow.cc。简单且好记。
同时老的域名也是可以访问的,会自动重定向到新的域名上。
新的Slogan
LiteFlow会从2.11.0这个版本开始,为每一个版本都设计一句Slogan。
这个版本的Slogan为:Keep on the light side
。
中文寓意为:逐光而行
。
这句Slogan一语双关,其中light
谐音lite
,表示我们会一直坚持LiteFlow的开源迭代。
逐光而行,我希望我自己可以践行,人总要需要一道光来照亮生命,我们疲惫且努力的追逐那道光,远离黑暗。
特性1:能够用Java原生语言来写脚本
丰富的脚本语言支持是LiteFlow的一大特色,脚本语言轻巧,能否被即时刷新的特点受到了很多开发者的喜爱。
LiteFlow之前支持了挺多的脚本语言,分别是:Groovy,Javascript,Python,QLExpress,Lua,Aviator。
但是不同的语言有不同的语法结构,很多不熟悉的这些语言写法的同学可能还要花点时间去学习该如何写。
这次版本LiteFlow支持了原生Java脚本语言的写法,这意味着你可以无学习成本的直接在脚本里用Java来书写逻辑。
关于Java脚本语言的详细文档请参照官网中脚本组件->脚本语言种类->Java脚本引擎
。
特性2:支持了Redis中存储规则和脚本
LiteFlow支持丰富的存储插件,所有的关系型数据库以及各种注册中心。
这次我们新增了Redis插件,用Redis来存储规则以及脚本。Redis在各大企业中用的比较多。为了保证使用的多样性。我们甚至开发了2种模式:轮询拉取模式
和订阅模式
,各有特点。
其中轮询拉取模式,我们做了非常多的优化,我们对每一个脚本和规则生成了指纹,只比对指纹,而非拉取整个数据,消耗极小。
订阅模式非常实时,但是需要你用Redission
框架来操作Redis,算有一定的使用限制。具体选用哪种模式,交由开发者来决定。
关于redis插件的详细文档请参照官网中规则文件->Redis配置源
。
特性3:全方位的超时控制
在以前的LiteFlow版本中,超时控制只能针对WHEN
表达式,且是全局配置。
在新版本中,我们支持了全方位的超时控制体系,一个maxWaitSeconds
关键字可对任意的组件、表达式、流程进行超时控制。
对任意表达式的控制:
<chain name="chain1"> THEN(a,b).maxWaitSeconds(5); </chain> <chain name="chain1"> FOR(2).DO(a).maxWaitSeconds(3); </chain>
对组件的超时控制
<chain name="chain1"> WHEN( a.maxWaitSeconds(2), b.maxWaitSeconds(3) ); </chain>
对子流程的超时控制
<chain name="testChain"> THEN(b) </chain> <chain name="chain"> testChain.maxWaitSeconds(3); </chain>
关于这块的详细文档请参考官网文档中的高级特性->超时控制
。
特性4:异步循环模式
经常群里的小伙伴会反映:LiteFLow的循环体系只支持同步,如果能支持异步就好了。
这个版本我们支持了!对三种循环模式都予以了异步支持。
<chain name="chain1"> FOR(2).parallel(true).DO(THEN(a,b,c)); </chain> <chain name="chain2"> WHILE(x).parallel(true).DO(THEN(a,b,c)); </chain> <chain name="chain3"> ITERATOR(x).parallel(true).DO(THEN(a,b,c)); </chain>
一个parallel
关键字搞定。是不是很简单?
关于异步循环的详细文档请参考官网文档中的高级特性->异步循环模式
。
特性5:组件回滚
这也就是所谓的逆操作。LiteFlow从这个版本开始有逆向操作了!LiteFlow会自动帮你记录执行的顺序,当某个组件抛出异常时,会自动按实际执行的顺序进行逆操作。
这一切的前提只需要你在组件中实现rollback
方法。
在自动执行完回滚操作后,LiteFlow的日志还会把回滚的步骤都打出来,让你一目了然。
@LiteflowComponent("a") public class ACmp extends NodeComponent { @Override public void process() { //do your biz } @Override public void rollback() throws Exception { //do your biz } }
关于组件回滚的详细文档请参考官网文档中的高级特性->组件回滚
。
测试用例增加到1200个左右
我相信,一个开源框架的上限是看这个框架所解决的问题和这个框架提供的特性和设计。而下限则是这个开源框架的测试用例的完备性。
我们不仅要开疆拓土,提供新特性和新的探索,也要守疆土,确保整体稳定性和质量。
我们这次将测试用例数量提高到近1200个,几乎覆盖到了所有的地方。
大家可以放心用。我们也有完备的社区和组织,社区目前拥有3500人左右。
PPT更新
官网提供的PPT同步更新到v2.11.0这个版本。
获取PPT的方式请参考:https://liteflow.cc/pages/8d6666/
完整更新列表
更新列表 特性 #I7V6VB 建议增加Janino插件,支持java脚本的书写 https://gitee.com/dromara/liteFlow/issues/I7V6VB 特性 #I7T53A 增加Redis存储规则的支持 https://gitee.com/dromara/liteFlow/issues/I7T53A 特性 #I7I3LL 允许对EL中的每⼀个组件设置超时时间控制 https://gitee.com/dromara/liteFlow/issues/I7I3LL 特性 #I7HJFX 循环表达式中支持异步模式 https://gitee.com/dromara/liteFlow/issues/I7HJFX 特性 #I590JT 对于回滚流程的支持 https://gitee.com/dromara/liteFlow/issues/I590JT 增强 #I7QC8V SQL插件格式化加入CDATA https://gitee.com/dromara/liteFlow/issues/I7QC8V 增强 #I7Q8BX 部分代码有NPE风险 https://gitee.com/dromara/liteFlow/issues/I7Q8BX 增强 #I7Q4BN 默认主线程池的名称拼写 https://gitee.com/dromara/liteFlow/issues/I7Q4BN 修复 #I7WNDA SQLException: 使用druid+oracle会报出关闭的语句错误 https://gitee.com/dromara/liteFlow/issues/I7WNDA 修复 #I7TYS3 当组件出现Exception的时候,afterProcess获取不到 https://gitee.com/dromara/liteFlow/issues/I7TYS3
支持和赞助LiteFlow
开源一个项目并坚持2年并不容易,如果各位对LiteFlow这个项目有信心并且愿意支持的话,可以在官网首先点击给LiteFlow发电
按钮。
但不管你是否选择赞助,我仍然会在社区里尽可能的解决你们的问题。
社区里的问题太多,如果没回答上,请多艾特我几遍。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
MaxKey 单点登录认证系统 4.0.0,JDK17 重大升级
业界领先的IAM-IDaas身份管理和认证产品 概述 MaxKey单点登录认证系统,谐音马克思的钥匙寓意是最大钥匙,是业界领先的IAM-IDaas身份管理和认证产品,支持OAuth 2.x/OpenID Connect、SAML 2.0、JWT、CAS、SCIM等标准协议,提供安全、标准和开放的用户身份管理(IDM)、身份认证(AM)、单点登录(SSO)、RBAC权限管理和资源管理等;开源、安全、自主可控。 官方网站:官网 邮箱email:**support@maxsso.net** 代码托管:Gitee|GitHub 产品特性 1.标准协议 序号 协议 支持 1.1 OAuth 2.0/OpenID Connect 高 1.2 SAML 2.0 高 1.3 JWT 高 1.4 CAS 高 1.5 SCIM 2.0 高 1.6 FormBased 中 1.7 TokenBased(Post/Cookie) 中 1.8 ExtendApi 低 1.9 EXT 低 2.登录支持 序号 登录方式 2.1 动态验证码 字母/数字/算术 2.2 双因素认证 2.3 短信认证 腾讯云短信/阿里云短...
- 下一篇
EasyGoAdmin 敏捷开发框架 Beego+EleVue 版本 v2.4.0 发布
v2.4.0 更新内容:1、调整后端服务注册目录 boot, 启动项目时自动注册;2、变成自定义模块目录,规范目录结构;3、解决数据列表日期格式无法正常显示的问题;4、新增非管理员相关权限和角色功能;5、修复近期用户使用过程中反馈的 BUG; 一款 Go 语言基于Beego、Vue、ElementUI、MySQL等框架精心打造的一款模块化、插件化、高性能的前后端分离架构敏捷开发框架,可快速搭建前后端分离后台管理系统,本着简化开发、提升开发效率的初衷,框架自研了一套个性化的组件,实现了可插拔的组件式开发方式,同时为了敏捷快速开发,框架特地集成了代码生成器,完全自主研发了自定义GO后端服务模板和前端Vue自定义模板,可以根据已建好的表结构,可以快速的一键生成整个模块的所有代码和增删改查等等功能业务,真正实现了低代码开发方式,极大的节省了人力成本的同时提高了开发效率,缩短了研发周期,是一款真正意义上实现组件化、可插拔式的敏捷开发框架。 软件信息 软件名称:EasyGoAdmin敏捷开发框架Beego+EleVue版本 官网网址:https://www.easygoadmin.vip 文档网址...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Hadoop3单机部署,实现最简伪集群
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7安装Docker,走上虚拟化容器引擎之路
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果