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

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

    • v2.9.X
    • v2.8.X
    • v2.7.X
    • v2.6.X
  • 升级指南

    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
❓问答
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
加入群聊
用户
  • TLog-轻量级的分布式日志追踪神器 (opens new window)
  • ERD ONLINE-开箱即用的数据库建模、产品版本管理软件 (opens new window)
  • Forest-更轻量、更简单实用的HTTP客户端框架 (opens new window)
Gitee (opens new window)
Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)
💒首页
  • v2.10.1(当前版本)
  • What's New

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

    • v2.9.X
    • v2.8.X
    • v2.7.X
    • v2.6.X
  • 升级指南

    • 升级到2.9.3说明
    • 升级到2.9.X说明
    • 升级到2.8.X说明
    • 升级到2.7.X说明
❓问答
💖赞助
🧩插件
🔥PPT
  • 项目介绍
  • 项目成员
  • 更新记录
  • 参与开发
加入群聊
用户
  • TLog-轻量级的分布式日志追踪神器 (opens new window)
  • ERD ONLINE-开箱即用的数据库建模、产品版本管理软件 (opens new window)
  • Forest-更轻量、更简单实用的HTTP客户端框架 (opens new window)
Gitee (opens new window)
Github (opens new window)
  • 简体中文 (opens new window)
  • English (opens new window)
  • LiteFlow介绍
  • 项目特性
  • 安装和集成

    • Springboot场景安装运行

      • 依赖
      • 配置
      • 执行
    • Spring场景安装运行

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

      • 说明
      • 依赖
      • 配置
      • 执行
  • 规则文件

    • 规则文件格式
    • 本地规则文件配置
    • ZK规则文件配置
    • 自定义配置源
  • 用代码动态构造规则

    • 说明
    • 如何构造
  • 使用详细指南

    • 开启和关闭
    • 同步异步编排
    • 执行器
    • 数据槽
    • 普通组件
    • 条件组件
    • 脚本组件
    • 声明式组件
    • 前置后置组件
    • 组件标签
    • 子流程
    • 隐式子流程
    • 私有投递
    • 组件重试
    • 平滑热刷新
    • 组件切面
    • 异常处理机制
    • 步骤打印
    • 不同格式规则加载
    • When异步线程池
    • 自定义组件执行器
    • 简单监控
  • 示例工程

    • 测试用例
    • DEMO案例
  • 性能表现
  • 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-2023 铂赛东 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式