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简介
  • 🍓项目特性
  • 🧁环境支持

  • 🍟快速开始(Hello world)

  • 🍢配置项

  • 🔗组件

  • 🧩EL规则

  • 🌮上下文

  • 🛩执行器

  • 🍋脚本组件

  • 🗂规则配置源

    • 📕本地规则文件配置
    • 📘SQL数据库配置源
    • 📗ZK规则文件配置源
    • 📋Nacos配置源
    • 🗄Etcd配置源
    • 📜Apollo配置源
    • 📑Redis配置源

    • 📙自定义配置源
      • 说明
      • 配置路径
  • 🍼元数据管理

  • 🌌异步中的线程池

  • 🎲动态构造

  • 🧮决策路由

  • 😸生命周期

  • 🎨高级特性

  • ⛱测试用例以及示例

  • 🪂性能表现
  • v2.13.X文档
  • 🗂规则配置源
铂赛东
2022-06-07
目录

📙自定义配置源

# 说明

LiteFlow原生只允许一种配置源,比如你使用了数据库配置源,那么就无法使用redis配置源了,你无法一部分规则/脚本从数据库取,另一部分从redis中取。

如果你希望整合两种或以上的配置源,又或者你想从其他框架不支持的地方获取规则/脚本,就需要用到自定义配置源了。

这部分LiteFlow只提供扩展接口,需要开发者自己开发的。

事实上LiteFlow支持的配置源,也是扩展这个接口来实现的。有兴趣的,可以看看源码。

LiteFlow提供扩展继承类ClassXmlFlowELParser

以下以XML形式的自定义源配置类举例:

public class TestCustomParser extends ClassXmlFlowELParser {

	@Override
	public String parseCustom() {
		System.out.println("进入自定义parser");
		String xmlContent = null;
		//这里需要自己扩展从自定义的地方获取配置
		return xmlContent;
	}
}

无论你数据存在几个地方,或者是存于哪个存储。中间逻辑需要开发者自己实现,并组装成完成的xml并返回。就是这种形式:

<flow>
    <nodes>
        <node id="脚本id1" name="脚本名称" type="script" language="脚本语言">
            ...
        </node>

        <node id="脚本id2" name="脚本名称" type="script" language="脚本语言">
            ...
        </node>
        
        ...
    </nodes>
    
    <chain name="chain1">
        ...
    </chain>

    <chain name="chain2">
        ...
    </chain>
    
    ...
</flow>

提示

自定义配置源这个类也会自动注入到spring的上下文中,所以在这个类里可以随意注入spring上下文中的bean,可以使用@Autowired和@Resources等标签

# 配置路径

以下以Springboot的配置做例子,Spring以及非Spring的环境配置可以详细阅读配置项这章节。

你只需要把rule-source改成你自定义规则配置源的类即可

liteflow.rule-source=el_xml:com.yomahub.liteflow.test.TestCustomParser
帮助我们改善此文档 (opens new window)
上次更新: 2025/02/16, 21:26:30
订阅模式配置
⛰元数据操作器

← 订阅模式配置 ⛰元数据操作器→

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