• 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/

  • 相关阅读:
    CentOS7下部署Django
    ORM动态创建表
    JQuery制作加载进度条
    文件上传、下载
    Django执行事务操作
    python常用代码
    深入理解Java虚拟机-垃圾收集器
    ILRuntime作者林若峰分享:次世代手游渲染怎么做
    Android:手把手教你构建 全面的WebView 缓存机制 & 资源加载方案
    unity3d 热更篇--ILRuntime原理
  • 原文地址:https://www.cnblogs.com/ooo0/p/15503107.html
Copyright © 2020-2023  润新知