Liteflow服务编排简介

1. 简介

LiteFlow是一个非常强大的现代化的规则引擎框架,融合了编排特性和规则引擎的所有特性,能将复杂的业务流程通过组件化的方式解耦每个步骤、重新编排以打造一个低耦合又灵活的系统。

重点概念: 规则组件

利用LiteFlow,你可以将瀑布流式的代码,转变成以组件为核心概念的代码结构,这种结构的好处是可以任意编排,组件与组件之间是解耦的,组件可以用脚本来定义,组件之间的流转全靠规则来驱动。

编排规则: 组件按照一定逻辑顺序执行的约束,也可称之为 业务逻辑

复杂的编排示例:

2. 组件

组件是抽取业务流程的原子性操作的代码实现, 通常单个组件是一个类,并且根据不同类型继承LiteFlow的基础组件, 并实现基类的process方法。

组件分为:普通组件、选择组件、条件组件、循环组件

涉及规则关键字: THENWHENSWITCHIF...ELIF...ELSE、FOR...DO...、WHILE...DO...、ITERATOR...DO...

This关键字 :this关键字在组件中用于获取上下文、使用 this.getContextBean(clazz) 获取整个业务流程中的所有需要的数据,更详细用法会放在文章末尾。

2.1 普通组件

普通节点需要继承基类 NodeComponent , 可用于 THEN 和 WHEN 关键字中,并实现基类的 process方法

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

        @Override
        public void process() {
    	// 业务代码
            
        }
    }

注: LiteflowComponent 注解中的 参数a , 就是规则中的组件id

2.2 选择组件

依据业务动态选择下级节点的组件、需要继承基类 NodeSwitchComponent ,可用于 SWITCH关键字中,并实现基类的 processSwitch 方法

@LiteflowComponent("a")
public class ACmp extends NodeSwitchComponent {

    @Override
    public String processSwitch() throws Exception {
        // 业务代码
        return "c";
    }
}

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值