LiteFlow 按照规则配置进行复杂流转

使用LiteFlow,你需要去把复杂的业务逻辑按代码片段拆分成一个个小组件,并定义一个规则流程配置。这样,所有的组件,就能按照你的规则配置去进行复杂的流转。

 

依赖

LiteFlow提供了liteflow-spring-boot-starter依赖包,提供自动装配功能

<dependency>
  <groupId>com.yomahub</groupId>
  <artifactId>liteflow-spring-boot-starter</artifactId>
  <version>2.6.3</version>
</dependency>

 

组件的定义

在依赖了以上jar包后。 需要定义并实现一些组件,确保SpringBoot会扫描到这些组件并注册进上下文

复制代码
import com.yomahub.liteflow.core.NodeComponent;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Component;

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

    @Override
    public void process() {
        //do your business
        log.info("ACmp process");
    }
}
复制代码

 

SpringBoot配置文件

复制代码
liteflow:
  rule-source: config/flow.xml
  #-----------------以下非必须-----------------
  enable: true #liteflow是否开启,默认为true
  monitor:
    delay: 10000 #监控一开始延迟多少执行,默认值为300000毫秒,也就是5分钟
    enable-log: true #是否开启监控log打印,默认值为false
    period: 10000 #监控日志打印每过多少时间执行一次,默认值为300000毫秒,也就是5分钟
    queue-limit: 300 #监控队列存储大小,默认值为200
  parse-on-start: true #是否在启动的时候就解析规则,默认为true
  retry-count: 0 #全局重试次数,默认为0
  slot-size: 1024 #slot的数量,默认值为1024
  when-max-wait-second: 15 #异步线程最长的等待时间秒(只用于when),默认值为15
  when-max-workers: 4 #异步线程池最大线程数,默认为4
  when-queue-limit: 512 #异步线程池等待队列数,默认为512
  zk-node: /lite-flow/flow #zkNode的节点,只有使用zk作为配置源的时候才起作用
复制代码

 

规则文件的定义

同时,在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>

 

官方文档:

https://yomahub.com/liteflow/docs/

 

posted @   草木物语  阅读(1451)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示