这个版本做的很折腾。期间几个issue推翻重做了好几次。

但我最终还是带来了LiteFlow 2.6.4这个重要版本。

虽然版本是小版本号升级,但是带来的更新可一点也不少。并完全向下兼容。

如果你是第一次知道LiteFlow这款框架,可以移步以下链接进行了解:

官网:https://yomahub.com/liteflow

Gitee仓库主页:https://gitee.com/dromara/liteFlow

Github仓库主页:https://github.com/dromara/liteflow

也可以看我之前发布的一篇介绍LiteFlow框架的文章

https://mp.weixin.qq.com/s/xyydmtk_a5R1zbg3EeORaw

这次的新版本带来了4个特性,4个增强,4个修复。总共12个issue的更新。

重点说下几个重要的更新点

支持文件脚本的定义

你除了可以把脚本内容写在配置文件中,也可以写在文件中。如果大的脚本就推荐写在文件中。毕竟IDE对文件的语法高亮和代码提示做的也相对友好。编写脚本会更加方便。

文档位置:https://yomahub.com/liteflow/docs/user-detail-guide/user-detail-guide-script

支持链路的前置和后置节点

新版本支持了前置组件和后置组件特性。

此特性针对整个链路,在链路之前之后固定执行某些组件。用于业务的前置处理和后置处理。

其中后置节点不受Exception影响,即便节点出错,后置节点依旧会执行。

文档位置:https://yomahub.com/liteflow/docs/user-detail-guide/user-detail-guide-pre-and-finally

优雅平滑刷新的支持

这个功能被催了好久,之前的版本因为不平滑刷新,热更新方面总感觉差点意思。

这次新版本带来了完全平滑的热刷新机制,分为主动刷新和被动刷新2个接口。在高并发时也不会担心因为刷新规则而导致的链路执行异常了。

文档位置:https://yomahub.com/liteflow/docs/user-detail-guide/user-detail-guide-refresh

并行节点中任意节点结束即继续的流程支持

对并行节点做了进一步的流程特性支持。根据这个特性,你可以编排出更加灵活的流程设计。

文档位置:https://yomahub.com/liteflow/docs/user-detail-guide/user-detail-guide-condition

本次2.6.4除了一些特性和增强。最大的改动就是重写了底层的异步线程模型。

本来想集成asyncTool作为线程编排的核心,但是做了一版之后发现有些细节没办法很好的兼容。于是根据asyncTool的核心思想,重写了异步线程模型以适配liteflow的异步线程编排。

在这里,感谢asyncTool这个项目和其项目作者京东武伟峰,在开发这个版本时候给了解答了我一些技术疑惑。

完整更新列表如下:

特性 #I4GYV2 script节点支持从文件中获取脚本

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

特性 #I4HGOW 支持链路的前置和后置节点

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

特性 #I4FSHW 优雅平滑刷新的支持

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

特性 #I4GS03 并行节点中支持任意节点结束即继续的流程设计

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

增强 #I4HKZG 借鉴asyncTool对异步线程底层进行了彻底重构

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

增强 #I4HD8L 支持异步节点返回自定义的错误

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

增强 #I4GZ1Q 增强异步线程超时的情况下打印出具体超时节点的信息

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

增强 #I4EXCP 新增 自定义 关闭/启动 Banner

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

修复 #I4GY9L 在启动后马上刷新流程后会有offerSlot的报错

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

修复 #I4FYKA jsonparser好像缺少脚本条件组件的解析

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

修复 #I4HQAA setIsEnd目前受isContinue的判断影响,还是会继续

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

修复 #I4HTY6 异步线程池不受配置控制的bug,一直是默认的数量

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

不知不觉LiteFLow已经更新了26个版本了,目前已经1000 star左右。

你们的star和肯定是LiteFlow继续迭代的唯一动力。

我知道还有很多问题没解决好,也有槽点。LiteFlow从2020年开始全面开源,还很年轻,但请相信,在我们积极的迭代下,LiteFlow的后续形态会很好。

LiteFlow拥有一个很活跃技术氛围良好的社区群(不是开车的那种。。),如果你对此项目感兴趣,希望你能为项目点上star并加入社区。

具体加入方式:https://yomahub.com/liteflow/blog/group-chat

同时你支持这个项目的话,也欢迎赞助捐赠。每一个赞助捐赠者都会在官网记录以示感谢。

捐赠方式:https://yomahub.com/liteflow/blog/donation

LiteFlow 2.6.4版本发行注记,里程碑版本!的更多相关文章

  1. LiteFlow 2.6.0版本发行注记,项目逻辑解耦的利器

    前言 自从LiteFlow 2.5.X版本发布依赖,陆续经历了10个小版本的迭代.社区群也稳固增长,每天都有很多小伙伴在问我问题. 但是我发现最多人问我的还是:什么时候能支持界面编排? 从LiteFL ...

  2. CentOS-7.4(1708)release notes发行注记

    Red Hat Enterprise Linux 当前的最新版本是 7.3. Red Hat Enterprise Linux 7 当前仅支持 64 位CPU:64-bit AMD.64-bit In ...

  3. 【ArcEngine入门与提高】Element(元素)、Annotation(注记)旋转

    因项目需要,需要做一个旋转注记的工具.因为注记这玩意用的比较少,网上资源也很少,所以做起来相当头疼.在经过一番研究之后,终于搞清楚注记的存储原理了,原来是和Element的类似,只不过注记是要把Ele ...

  4. Linux系统中查询发行版本号以及内核版本的命令总结

    了解Linux发行版本的版本号是一项非常重要的事情,大多数软件对系统的版本都有要求,发行版本号与软件不匹配,软件将无法安装或者无法使用.这边集合市面上流行的Linux发行版本版本号查询方法.有了这边文 ...

  5. arcgis10.2 打开CAD文件注记乱码

    1.使用ARCGIS10.2打开CAD文件,图面显示的注记内容为乱码,属性表中的注记内容正常2.同样的CAD文件在ARCGIS9.3中打开正常出现此情况影响历史数据使用,请求ESRI技术支持注:系统添 ...

  6. ArcGIS中的标注和注记

    在ArcMap中可以使用标注和注记来识别要素,选择标注或注记取决于你需要如何控制文本显示以及在ArcMap中如何存储文本. 1.标注只是临时显示相关数据或字段 2.标注用于长时间保存数据以及显示方式. ...

  7. 关于arcgis engine的注记显示与关闭问题

    1.注记的添加需要拿到IGeoFeatureLayer接口下的AnnotationProperties属性,转为IAnnotationLayerPropertiesCollection接口,并创建一个 ...

  8. 【ESRI论坛6周年征文】ArcEngine注记(Anno/ Label/Element等)处理专题 -入门篇

    原发表于ESRI中国社区,转过来.我的社区帐号:jhlong http://bbs.esrichina-bj.cn/ESRI/viewthread.php?tid=122097 ----------- ...

  9. 创建文本注记TextElement

    1.创建一个字体 /// <summary> /// 字体设置 /// </summary> /// <param name="size">Th ...

随机推荐

  1. Java基础(七)——多线程

    一.概述 1.介绍 Java VM 启动的时候会有一个进程Java.exe,该进程中至少有一个线程负责Java程序的执行.而且这个线程运行的代码存在于main方法中,该线程称之为主线程.其实从细节上来 ...

  2. Vite插件开发纪实:vite-plugin-monitor(下)

    前言 上一篇介绍了Vite启动,HMR等时间的获取. 但各阶段详细的耗时信息,只能通过debug的日志获取 本文就实现一下debug日志的拦截 插件效果预览 --debug做了什么 项目启动指令 vi ...

  3. 关于布隆过滤器,手写你真的知其原理吗?让我来带你手写redis布隆过滤器。

    说到布隆过滤器不得不提到,redis, redis作为现在主流的nosql数据库,备受瞩目:它的丰富的value类型,以及它的偏向计算向数据移动属性减少IO的成本问题.备受开发人员的青睐.通常我们使用 ...

  4. 微服务+异步工作流+ Serverless,Netflix 决定弃用稳定运行 7 年的旧平台

    作者 | Frank San Miguel 策划 | 田晓旭 2021 年,Netflix 会将大部分的工作负载从 Reloaded 转移到 Cosmos 平台.Cosmos 是一个计算平台,它将微服 ...

  5. 题解 「BZOJ3636」教义问答手册

    题目传送门 Description 作为泉岭精神的缔造者.信奉者.捍卫者.传承者,Pear决定印制一些教义问答手册,以满足泉岭精神日益增多的信徒.Pear收集了一些有关的诗选.语录,其中部分内容摘录在 ...

  6. pytest执行时mian函数传参

    在代码中执行pytest可以通过main函数 加参数来指定运行规则时,参数需要放在列表或者元祖中 # pytest.main(["--html=report.html"]) # p ...

  7. Frida高级逆向-Hook Java

    Frida Hook Java 层 Frida两种启动方式的区别 span 模式:frida 重新打开一个进程 frida -U -f 包名 -l js路径 --no-pause attch 模式: ...

  8. Python代码阅读(第21篇):将变量名称转换为蛇式命名风格

    Python 代码阅读合集介绍:为什么不推荐Python初学者直接看项目源码 本篇阅读的代码实现将变量名称转换为蛇式命名风格(snake case)的功能. 本篇阅读的代码片段来自于30-second ...

  9. 【UE4】GamePlay架构

    新标签打开或者下载看大图 更新: 增加 编程子系统 Subsystem 思维导图 Character pipeline

  10. 性能利器 Takin 来了!首个生产环境全链路压测平台正式开源

    6 月 25 日,国内知名的系统高可用专家数列科技宣布开源旗下核心产品能力,对外开放生产全链路压测平台产品的源代码,并正式命名为 Takin. 目前中国人寿.顺丰科技.希音.中通快递.中国移动.永辉超 ...