这个版本做的很折腾。期间几个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. 鸿蒙内核源码分析(忍者ninja篇) | 都忍者了能不快吗 | 百篇博客分析OpenHarmony源码 | v61.02

    百篇博客系列篇.本篇为: v61.xx 鸿蒙内核源码分析(忍者ninja篇) | 都忍者了能不快吗 | 51.c.h.o 编译构建相关篇为: v50.xx 鸿蒙内核源码分析(编译环境篇) | 编译鸿蒙 ...

  2. 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 百篇博客分析OpenHarmony源码 | v10.04

    百篇博客系列篇.本篇为: v10.xx 鸿蒙内核源码分析(内存主奴篇) | 皇上和奴才如何相处 | 51.c.h .o 前因后果相关篇为: v08.xx 鸿蒙内核源码分析(总目录) | 百万汉字注解 ...

  3. 四、mybatis动态sql

    # 前言前面mysql都是通过静态sql进行查询的,但是如果业务复杂的时候,我们会遇到引号问题,或者多一个空格,这就使得sql代码编写错误了,所以为了解决这个问题,我们有了动态sql. Mybatis ...

  4. 获取classpath(src/main/resources)的绝对路径

    先贴上代码 private static String basePath = Thread.currentThread().getContextClassLoader().getResource(&q ...

  5. 从零入门 Serverless | 一文讲透 Serverless Kubernetes 容器服务

    作者 | 张维(贤维) 阿里云函数计算开发工程师 导读:Serverless Kubernetes 是以容器和 kubernetes 为基础的 Serverless 服务,它提供了一种简单易用.极致弹 ...

  6. js 判断一个变量是否有值

    最近遇到一个面试题,判断一个变量是否有值,当时有点蒙,其实很简单,就是判断 变量是否为 undefined或者null function isFlag(val) { if(Object.prototy ...

  7. CF193D Two Segments (线段树+dp)(外加两个扩展题)

    大概算是个系列整理 (最强版是模拟赛原题)) 首先,我们先来看这个题目. QWQ一开始是毫无头绪,除了枚举就是枚举 首先,我们可以枚举一个右端点,然后算一下当前右端点的答案 我们令\(f[l,r]\) ...

  8. Apache Shiro漏洞绕过waf小tips

    看了篇文章觉得不错记录下以免以后找不到,原理是通过base64解码特性导致waf不能成功解码绕过waf检测从而进行攻击 解码情况: payload php python openresty java ...

  9. CAM 模板样式表

    视图 模板类型 模板子类型 类型 子类型 刀具类型 刀具子类型 加工工序 mill_planar FACE_MILLING_AREA 100 261     加工工序 mill_planar FACE ...

  10. 2021 从零开始学Git【新版本Git - 8000字详细介绍】

    我写的这篇文章,主要是记录自己的学习过程,也希望帮助读者少踩坑(比如不同版本可能命令不兼容等).本文面向git零基础初学者,建议读者按照文中命令自己全部操作一遍(注意运行环境). 我的运行环境:win ...