LiteFlow LiteFlow
💒首页
  • v2.13.2(当前版本)
  • What's New

    • 🌈What' s New In LiteFlow v2.13.2?
  • 历史版本

    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 🌈2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
👑LF CLUB社区
  • 常见问题
  • 专题解释

    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念,在框架中起到什么样的作用?
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
👥加入群聊
🧤谁在使用
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)

广告采用随机轮播方式显示 ❤️成为赞助商
💒首页
  • v2.13.2(当前版本)
  • What's New

    • 🌈What' s New In LiteFlow v2.13.2?
  • 历史版本

    • v2.12.X
    • v2.11.X
    • v2.10.X
    • v2.9.X
    • v2.8.X
  • 升级指南

    • 🌈2.13.0升级指南
    • 2.12.4升级指南
    • 2.12.0升级指南
    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
👑LF CLUB社区
  • 常见问题
  • 专题解释

    • 如何理解上下文这个概念?
    • Slot是一个什么样的概念,在框架中起到什么样的作用?
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
👥加入群聊
🧤谁在使用
  • Gitee (opens new window)
  • GitCode (opens new window)
  • Github (opens new window)
铂赛东
2025-02-23
目录

2.12.4升级指南

# 说明

2.13.0不是一个不完全向下兼容的版本。为什么说不完全,因为大部分用户应该是能兼容的。少部分用户涉及到以下这些内容的都必须按照指南来升级。

这份升级指南只适用从2.12.X升级到2.13.0版本。

如果你在使用的LiteFlow为更老的版本,请逐级阅读升级文档。

比如你现在使用的是2.10.X版本,想升到2.13.0。必须请依此阅读2.12.0升级指南,2.12.4升级指南,2.13.0升级指南。

# 不兼容点1:java插件

如果你之前在使用

<dependency>
    <groupId>com.yomahub</groupId>
    <artifactId>liteflow-script-java</artifactId>
    <version>2.12.X</version>
</dependency>

那么很可惜,它在新版本中已经不提供了。当然你仍然可以使用以前的版本,它的最后一个版本为2.12.4.5。

建议大家把java插件往javax-pro上进行迁移,当然javax插件仍旧提供并会继续迭代的。

具体关于这几个java脚本插件的区别以及各个使用方法,请参照Java脚本插件。

# 不兼容点2:线程池相关的改动

以下原先的配置在新版本中全部失效:

#when节点全局异步线程池最大线程数,默认为16
liteflow.when-max-workers=16
#when节点全局异步线程池等待队列数,默认为512
liteflow.when-queue-limit=512
#并行节点的线程池Builder,LiteFlow提供了默认的Builder
liteflow.thread-executor-class=com.yomahub.liteflow.thread.LiteFlowDefaultWhenExecutorBuilder
#并行循环子项线程池最大线程数,默认为16
liteflow.parallel-max-workers=16
#并行循环子项线程池等待队列数,默认为512
liteflow.parallel-queue-limit=512
#并行循环子项的线程池Builder,LiteFlow提供了默认的Builder
liteflow.parallel-loop-executor-class=com.yomahub.liteflow.test.customThreadPool.CustomThreadBuilder

以下2个配置在新版本中合成一套配置:

#全局异步节点线程池大小,默认为64
liteflow.global-thread-pool-size=64
#全局异步节点线程池队列大小,默认为512
liteflow.global-thread-pool-queue-size=512
#全局异步节点线程池自定义Builder,LiteFlow提供了默认的线程池Builder
liteflow.global-thread-pool-executor-class=com.yomahub.liteflow.thread.LiteFlowDefaultGlobalExecutorBuilder

默认线程池大小也改为了64。when和异步循环默认都受一个线程池影响。 新版本给予了线程池方面非常大的自由度。如果你想把线程池分的更细点,请参照组件异步层面的线程池这一小节。

# 不兼容点3:ELBus的操作

原先ELBus.then("a", "b")).toEL(),会输出THEN(node("a"), node("b"))。

新版本则直接输出THEN(a,b)。

这个请知晓,但不涉及代码改动。

如果以前曾经使用ELBus.commonNode方法的同学,这次这个方法被删除了,变成了ELBus.element。

关于node方法和element方法的区别请参考在节点上设置关键字。

# 不兼容点4:注释

在新版本中,以前注释的写法不再支持:

<chain name="chain1">
    //我是注释
    THEN(a, b, WHEN(c, d))
</chain>

从2.13.0开始,只支持/** **/这种注释,不支持单行注释//

并且/** **/这种注释也不能夹在表达式当中,比如以下形式就是不行的:

<chain name="chain1">
    THEN(
        a,b,
        /** 我是注释 **/
        WHEN(c, d)
    )
</chain>

大家会不会奇怪,原先支持的形式更多,现在新版本怎么反而还降级了呢?

这是因为原先是靠正则去去除注释的,正则在解析的时候会耗费大量的性能。而底层表达式本身在处理语法的时候就支持单行注释。所以相较之下,还是选择了性能优先,舍弃注释的便捷性。

帮助我们改善此文档 (opens new window)
上次更新: 2025/02/24, 23:54:36
Theme by Vdoing | Copyright © 2020-2025 铂赛东 | MIT License
沪ICP备18012955号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式