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)
  • LiteFlow介绍
  • 项目特性
  • 安装和集成

    • Springboot场景安装运行

    • Spring场景安装运行

      • 依赖
      • 配置
        • 定义你的组件
        • Spring xml中的配置
        • 规则文件的定义
      • 执行
    • 其他场景安装运行

  • 规则文件

  • 用代码动态构造规则

  • 使用详细指南

  • 示例工程

  • 性能表现
  • v2.6.X文档
  • 安装和集成
  • Spring场景安装运行
铂赛东
2022-06-01
目录

配置

# 定义你的组件

你需要定义并实现一些组件,确保Spring会扫描到这些组件并注册进上下文

@Component("a")
public class ACmp extends NodeComponent {

    @Override
    public void process() {
        //do your business
    }
}

# Spring xml中的配置

<context:component-scan base-package="com.yomahub.flowtest.components" />

<bean id="springAware" class="com.yomahub.liteflow.util.SpringAware"/>

<bean class="com.yomahub.liteflow.spring.ComponentScaner"/>

<bean id="liteflowConfig" class="com.yomahub.liteflow.property.LiteflowConfig">
    <property name="ruleSource" value="config/flow.xml"/>
    <!-- 以下都不是必须的,都有默认值 -->
    <property name="enable" value="true"/> <!-- liteflow是否开启,默认为true -->
    <property name="printBanner" value="true"/> <!-- liteflow的banner是否开启,默认为true -->
    <property name="zkNode" value="/lite-flow/flow.xml"/> <!-- zkNode的节点,只有使用zk作为配置源的时候才起作用 -->
    <property name="slotSize" value="1024"/> <!-- slot的初始数量,默认为1024,此属性基本不用设置,因为满了之后会自动扩容 -->
    <property name="mainExecutorWorks" value="64"/> <!-- FlowExecutor的execute2Future的线程数,默认为64 -->
    <property name="mainExecutorClass" value="com.yomahub.liteflow.thread.LiteFlowDefaultMainExecutorBuilder"/> <!-- FlowExecutor的execute2Future的自定义线程池Builder,LiteFlow提供了默认的Builder -->
    <property name="threadExecutorClass" value="com.yomahub.liteflow.thread.LiteFlowDefaultWhenExecutorBuilder"/> <!-- 并行节点的线程池Builder,LiteFlow提供了默认的Builder -->
    <property name="whenMaxWaitSeconds" value="20"/> <!-- 异步线程最长的等待时间秒(只用于when),默认值为16 -->
    <property name="whenMaxWorkers" value="16"/> <!-- 异步线程池最大线程数,默认为16 -->
    <property name="whenQueueLimit" value="512"/> <!-- 异步线程池等待队列数,默认为512 -->
    <property name="parseOnStart" value="true"/> <!-- 是否在启动的时候就解析规则,默认为true -->
    <property name="retryCount" value="0"/> <!-- 全局重试次数,默认为0 -->
    <property name="supportMultipleType" value="false"/> <!-- 是否支持不同类型的加载方式混用,默认为false -->
    <property name="enableLog" value="true"/> <!-- 默认为false -->
    <property name="queueLimit" value="100"/> <!-- 默认为200 -->
    <property name="period" value="5000"/> <!-- 默认为300000,5分钟 -->
    <property name="delay" value="5000"/> <!-- 默认为300000,5分钟 -->
</bean>

<bean id="flowExecutor" class="com.yomahub.liteflow.core.FlowExecutor">
    <property name="liteflowConfig" ref="liteflowConfig"/>
</bean>

<!-- 如果上述enableLog为false,下面这段也可以省略 -->
<bean class="com.yomahub.liteflow.monitor.MonitorBus">
    <property name="liteflowConfig" ref="liteflowConfig"/>
</bean>

# 规则文件的定义

同时,你得在resources的config/flow.xml中如下配置:

<?xml version="1.0" encoding="UTF-8"?>
<flow>
    <chain name="chain1">
        <then value="a,b,c"/>
        <when value="d,e"/>
    </chain>
</flow>

Spring在启动时会自动装载规则文件。

帮助我们改善此文档 (opens new window)
上次更新: 2022/10/07, 00:22:18
依赖
执行

← 依赖 执行→

Theme by Vdoing | Copyright © 2020-2025 铂赛东 | MIT License
沪ICP备18012955号-2
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式