LiteFlow简单使用

LiteFlow是什么

LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性,具体介绍查看官网

官网:https://liteflow.cc/

github: https://github.com/dromara/liteflow

gitee: https://gitee.com/dromara/liteFlow

使用LiteFlow

这里以Springboot项目中使用LiteFlow为例

添加依赖

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

定义组件

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

这里创建a b c 三个组件

a组件

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

    @Override
    public void process() {
        //do your business
        System.out.println("A");
    }
}

b组件

@Component("b")
public class BCmp extends NodeComponent {

    @Override
    public void process() {
        //do your business
        System.out.println("B");
    }
}

c组件

@Component("c")
public class CCmp extends NodeComponent {

    @Override
    public void process() {
        //do your business
        System.out.println("C");
    }
}

定义规则

在resources下的config/flow.el.xml中定义规则

这里定义串行执行a、b、c组件

<?xml version="1.0" encoding="UTF-8"?>
<flow>
    <chain name="chain1">
        THEN(a, b, c);
    </chain>
</flow>

添加配置

在application.yml里添加配置

liteflow:
  rule-source: config/flow.el.xml

执行链路

可以在任意被Spring托管的类中拿到flowExecutor,进行执行链路

@Component
public class YourClass{
    
    @Resource
    private FlowExecutor flowExecutor;
    
    public void testConfig(){
        LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
    }
}

执行结果

可以看到按照abc配置的顺序执行

img

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值