巧用liteflow,告别if else,SpringBoot整合liteflow

假设有一个三个原子业务,吃饭、喝水、刷牙。
现在有三个场景,分别是
场景A: 吃饭->刷牙->喝水

官网地址:https://liteflow.cc/

1.添加依赖:

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

2.application.yml

liteflow:
  rule-source: flow.el.xml

3.resources下创建flow.el.xml

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

创建3个组件:ABC
组件A:

 @Component("a")
    public class ComponentA  extends NodeComponent {
        @Override
        public void process() throws Exception {
            //设置上下下文
            DefaultContext context = this.getContextBean(DefaultContext.class);
            context.setData("key","你好!!!!");
            System.out.println("吃饭");
        }
    }

组件B:

@Component("b")
public class ComponentB extends NodeComponent {
    @Override
    public void process() throws Exception {
        System.out.println("刷牙");
    }
}

组件C:

@Component("c")
public class ComponentC extends NodeComponent {
    @Override
    public void process() throws Exception {
        System.out.println("喝水");
    }
}

测试:

    @PostMapping("testLiteFlow")
    public void test1() {
        LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
        if (response.isSuccess()) {
            System.out.println("执行成功!");
        }
        //异常
        Exception e = response.getCause();
        DefaultContext contextBean = response.getContextBean(DefaultContext.class);
        //取出上下下文
        Object key = contextBean.getData("key");
    }

在这里插入图片描述
上下文
//设置上下下文

DefaultContext context = this.getContextBean(DefaultContext.class);
context.setData("key","你好!!!!");

取出上下文:

DefaultContext contextBean = response.getContextBean(DefaultContext.class);
 //取出上下下文
 Object key = contextBean.getData("key");
也可以自己定义Context

异常

 //异常
Exception e = response.getCause();

可以随意组合业务:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力奋斗的JAVA小余

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值