精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Spring Boot3集成 LiteFlow 實現(xiàn)業(yè)務(wù)流程編排

開發(fā) 前端
LiteFlow 是一個強(qiáng)大的流程編排框架,它可以幫助開發(fā)者簡化復(fù)雜的業(yè)務(wù)邏輯處理。通過定義節(jié)點和流程,LiteFlow 使得代碼更加模塊化和易于管理。無論是簡單的任務(wù)調(diào)度還是復(fù)雜的業(yè)務(wù)流程自動化,LiteFlow 都能提供有效的解決方案。

LiteFlow 是一個國產(chǎn)的輕量級的 Java 流程編排框架,旨在簡化復(fù)雜的業(yè)務(wù)邏輯處理流程。它通過定義節(jié)點和流程,將復(fù)雜的業(yè)務(wù)邏輯分解成多個可管理的部分,從而提高代碼的可讀性和可維護(hù)性。

今天松哥和大伙一起來聊下這個工具。

一 什么是 LiteFlow

LiteFlow 是一個基于 Java 的流程編排框架,它允許開發(fā)者定義一系列的節(jié)點(Node)和流程(Flow),通過這些節(jié)點和流程來控制業(yè)務(wù)邏輯的執(zhí)行順序。LiteFlow 的核心思想是將復(fù)雜的業(yè)務(wù)邏輯分解成多個小的、可管理的部分,每個部分負(fù)責(zé)處理特定的任務(wù)。

二 為什么需要 LiteFlow

如果你要對復(fù)雜業(yè)務(wù)邏輯進(jìn)行新寫或者重構(gòu),用LiteFlow最合適不過。它是一個編排式的規(guī)則引擎框架,組件編排,幫助解耦業(yè)務(wù)代碼,讓每一個業(yè)務(wù)片段都是一個組件。

利用 LiteFlow,你可以將瀑布流式的代碼,轉(zhuǎn)變成以組件為核心概念的代碼結(jié)構(gòu),這種結(jié)構(gòu)的好處是可以任意編排,組件與組件之間是解耦的,組件可以用腳本來定義,組件之間的流轉(zhuǎn)全靠規(guī)則來驅(qū)動。LiteFlow 擁有開源規(guī)則引擎最為簡單的 DSL 語法。十分鐘就可上手。

圖片圖片

而且這些組件可以實時熱更替,也可以給編排好的邏輯流里實時增加一個組件,從而改變你的業(yè)務(wù)邏輯。

圖片圖片

2.1 LiteFlow 適用場景

LiteFlow 適用于擁有復(fù)雜邏輯的業(yè)務(wù),比如說價格引擎,下單流程等,這些業(yè)務(wù)往往都擁有很多步驟,這些步驟完全可以按照業(yè)務(wù)粒度拆分成一個個獨立的組件,進(jìn)行裝配復(fù)用變更。使用 LiteFlow,你會得到一個靈活度高,擴(kuò)展性很強(qiáng)的系統(tǒng)。因為組件之間相互獨立,也可以避免改一處而動全身的這樣的風(fēng)險。

2.2 LiteFlow 不適用場景

LiteFlow 只做基于邏輯的流轉(zhuǎn),而不做基于角色任務(wù)的流轉(zhuǎn)。

三 LiteFlow 實踐

假設(shè)我現(xiàn)在有一個用戶下單的需求,下單步驟我簡化成以下幾個步驟:

  1. 身份驗證:驗證用戶的身份信息,確保操作的安全性。
  2. 庫存檢查:檢查商品是否有足夠的庫存來滿足訂單需求。
  3. 價格確認(rèn):再次確認(rèn)商品的價格,防止因促銷活動結(jié)束等原因?qū)е碌膬r格變動。
  4. 創(chuàng)建訂單:如果所有條件都滿足,服務(wù)器會在數(shù)據(jù)庫中創(chuàng)建一條新的訂單記錄。
  5. 支付處理:根據(jù)用戶選擇的支付方式進(jìn)行相應(yīng)的處理,比如跳轉(zhuǎn)到第三方支付平臺完成支付。
  6. 庫存更新:一旦支付成功,更新商品的庫存信息,減少已售出的商品數(shù)量。
  7. 訂單確認(rèn):向用戶發(fā)送訂單確認(rèn)信息,包括訂單號、預(yù)計發(fā)貨時間等。

其中 1、5 屬于用戶節(jié)點要完成的內(nèi)容;2、6 屬于庫存節(jié)點要完成的內(nèi)容;3 屬于商品節(jié)點要完成的內(nèi)容;4、7 則屬于訂單節(jié)點要完成的內(nèi)容。

接下來我就通過 LiteFlow 來和小伙伴們演示如何完成上面的下單過程。

簡單期間,我這里就和大家演示前 4 步的流程編排。

3.1 基本用法

首先創(chuàng)建 SpringBoot 工程,引入 LiteFlow 依賴,如下:

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

接下來我們根據(jù)前面分析的業(yè)務(wù)邏輯,創(chuàng)建四個不同的業(yè)務(wù)節(jié)點:

@Component
public class UserNode extends NodeComponent {
    @Override
    public void process() {
        System.out.println("用戶身份驗證");
    }
}
@Component
public class StorageNode extends NodeComponent {
    @Override
    public void process() {
        System.out.println("庫存檢查");
    }
}
@Component
public class MerchandiseNode extends NodeComponent {
    @Override
    public void process() {
        System.out.println("價格確認(rèn)");
    }
}
@Component
public class OrderNode extends NodeComponent {
    @Override
    public void process() {
        System.out.println("訂單確認(rèn)");
    }
}

然后在 classpath 下定義 liteflow.xml 文件對這些流程進(jìn)行編排:

<?xml versinotallow="1.0" encoding="UTF-8"?>
<flow>
    <chain name="orderProcessChain">
        THEN(userNode, storageNode, merchandiseNode, orderNode);
    </chain>
</flow>

接下來在 application.properties 中加載這個 xml 文件,如下:

liteflow.rule-source=classpath:liteflow.xml

接下來就可以使用這個流程了,如下:

/**
 * @author:江南一點雨
 * @site:http://www.javaboy.org
 * @微信公眾號:江南一點雨
 * @github:https://github.com/lenve
 * @gitee:https://gitee.com/lenve
 */
@RestController
public class HelloController {

    @Autowired
    FlowExecutor flowExecutor;
    @GetMapping("/hello")
    public void hello() {
        flowExecutor.execute2Resp("orderProcessChain");
    }
}

當(dāng)我們調(diào)用 /hello 接口的時候,就會依次出發(fā)前面編排的四個服務(wù)。

3.2 條件選擇

我們可以定義一個條件選擇組件,類似下面這樣:

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

    @Override
    public String processSwitch() throws Exception {
        System.out.println("Acomp executed!");
        return "c";
    }
}

這個方法需要返回 String 類型,就是具體的結(jié)果,上面代碼示例了選擇到了 c 節(jié)點。

這個時候我們定義 xml 內(nèi)容如下:

<chain name="chain1">
    SWITCH(a).to(b, c);
</chain>

這就表示先在 a 中做選擇,根據(jù) a 中 processSwitch 方法的返回值,決定去執(zhí)行 b 還是 c。

3.3 循環(huán)

LiteFlow 提供了次數(shù)循環(huán)組件。返回的是一個 int 值的循環(huán)次數(shù)。主要用于 FOR...DO... 表達(dá)式。

循環(huán)組件的定義類似下面這樣:

@LiteflowComponent("f")
public class FCmp extends NodeForComponent {
    @Override
    public int processFor() throws Exception {
        //這里根據(jù)業(yè)務(wù)去返回for的結(jié)果
    }
}

循環(huán)多少次,就看方法的返回值了。

然后定義 xml 文件類似下面這樣:

<chain name="chain1">
    FOR(f).DO(THEN(a, b));
</chain>

我覺得這塊可以改進(jìn)下,沒必要定義類,直接在 XML 文件中用表達(dá)式去描述 FOR 會更好一些。

另外 LiteFlow 也支持迭代、boolean 等組件,也不難,感興趣的小伙伴可以去看下文檔。

四 小結(jié)

LiteFlow 是一個強(qiáng)大的流程編排框架,它可以幫助開發(fā)者簡化復(fù)雜的業(yè)務(wù)邏輯處理。通過定義節(jié)點和流程,LiteFlow 使得代碼更加模塊化和易于管理。無論是簡單的任務(wù)調(diào)度還是復(fù)雜的業(yè)務(wù)流程自動化,LiteFlow 都能提供有效的解決方案。

責(zé)任編輯:武曉燕 來源: 江南一點雨
相關(guān)推薦

2025-05-13 04:15:00

2025-04-27 03:00:00

Spring流程業(yè)務(wù)

2024-10-11 11:32:22

Spring6RSocket服務(wù)

2010-02-04 13:57:19

ibmdwWebsphere

2010-03-03 14:51:43

2024-02-26 00:00:00

GolangRedisDocker

2020-06-19 12:23:05

CIO數(shù)據(jù)分析技術(shù)

2025-09-26 04:11:00

Spring狀態(tài)機(jī)業(yè)務(wù)流程

2025-08-15 12:19:08

2024-07-05 11:47:43

2025-01-20 00:00:03

高并發(fā)秒殺業(yè)務(wù)

2020-01-19 20:07:32

物聯(lián)網(wǎng)大數(shù)據(jù)IOT

2010-06-29 15:45:57

UML業(yè)務(wù)流程

2013-11-06 14:15:11

流程

2011-05-18 11:34:54

云端業(yè)務(wù)流程管理

2021-05-06 17:22:22

區(qū)塊鏈加密貨幣技術(shù)

2017-08-11 11:41:53

迭代BPM開發(fā)

2023-01-04 13:41:23

RPA自動化機(jī)器人

2012-12-03 13:50:40

IBMdW

2013-11-06 14:16:23

流程
點贊
收藏

51CTO技術(shù)棧公眾號

精品一区二区三区在线视频| 亚洲日产av中文字幕| 亚洲视频一区在线| 成人av在线网址| 精品女人久久久| 国产精品一区免费在线| 亚洲综合免费观看高清完整版在线 | 黄色av中文字幕| 亚洲男人影院| 最新国产成人av网站网址麻豆| 中文字幕亚洲影院| 精品美女在线观看视频在线观看 | 国产精品va无码一区二区| 亚洲AV成人无码一二三区在线| 裸体素人女欧美日韩| 伊人久久综合97精品| 亚洲第一天堂久久| zzzwww在线看片免费| 91一区二区在线| 国产精品一区二区三区久久| 九九热国产精品视频| 香港久久久电影| 日韩欧美中文第一页| 一区二区三区国| 色婷婷av一区二区三区之e本道| 亚洲国产裸拍裸体视频在线观看乱了中文| 国产视频精品一区二区三区| 在线看免费毛片| 天堂av在线电影| 国产三级三级三级精品8ⅰ区| 91亚洲精品视频| 手机看片久久久| 综合久久综合| 一本色道久久88精品综合| 丰满少妇中文字幕| 欧美肥老太太性生活| 久久久久久久| 91免费国产在线观看| 国产精品入口日韩视频大尺度| 欧美肥妇bbwbbw| 西野翔中文久久精品字幕| 欧美调教femdomvk| 国产精品久久中文字幕| 欧美a免费在线| 不卡av电影在线播放| 成人国产精品久久久久久亚洲| 国产 日韩 欧美 成人| 99精品视频在线| 国产丝袜一区二区三区免费视频| 伊人免费视频二| 91tv亚洲精品香蕉国产一区| 岛国av一区二区三区| 永久免费在线看片视频| av成人手机在线| 久久蜜桃一区二区| 精品国产乱码久久久久久丨区2区 精品国产乱码久久久久久蜜柚 | 37p粉嫩大胆色噜噜噜| 日韩在线亚洲| 欧美电影影音先锋| jizz大全欧美jizzcom| 不卡福利视频| 天天综合色天天综合色h| 黄色一级大片免费| 高h视频在线观看| 国产精品久久久久影院亚瑟| 图片区小说区区亚洲五月| 少妇精品高潮欲妇又嫩中文字幕| 国产99精品在线观看| 91欧美日韩一区| 91在线视频国产| 美日韩一级片在线观看| 国产精品入口夜色视频大尺度| 国产精品成人免费一区二区视频| 中文字幕一区二区三三| 久久天天躁狠狠躁夜夜av| 蜜桃视频最新网址| 日韩中文首页| 久久精品这里热有精品| 一本一本久久a久久| 久久久久久久久丰满| 日韩在线国产精品| 国产男女猛烈无遮挡在线喷水| 婷婷成人基地| 超碰日本道色综合久久综合| 免费视频一二三区| 亚洲国产mv| 91精品国产乱码久久久久久蜜臀| 日本视频免费在线| 久久亚洲综合| 国产精品丝袜高跟| 国产精品久久久久久免费播放| 看片的网站亚洲| 成人性教育视频在线观看| va视频在线观看| 成人免费观看av| 久久另类ts人妖一区二区| 老司机午夜福利视频| 91一区二区在线观看| 日韩精品第一页| 色三级在线观看| 一区二区三区在线免费播放| 少妇高潮毛片色欲ava片| 最新中文字幕在线播放| 在线免费视频一区二区| 久久久久久久久久福利| 欧美韩国日本| 日韩欧美一区二区视频| xxxx黄色片| 国内精品久久久久久99蜜桃| www.亚洲人.com| 亚洲av鲁丝一区二区三区| 中文字幕亚洲精品乱码| 91禁外国网站| 亚洲性生活大片| 国产不卡免费视频| 日本在线播放一区| 怡红院在线观看| 色悠悠亚洲一区二区| 91亚洲精品久久久蜜桃借种| 操欧美女人视频| 日韩av中文字幕在线| 国产福利在线导航| 国内综合精品午夜久久资源| 国产精品久久久久久久7电影| 国产夫妻性生活视频| 久久免费偷拍视频| 男人天堂av片| 日韩久久99| 日韩电影中文 亚洲精品乱码| 91制片厂在线| 欧美搞黄网站| 国产精品视频精品| 日本福利在线观看| 国产欧美日韩另类一区| 狠狠噜天天噜日日噜| 天天免费亚洲黑人免费| 日韩欧美一级二级三级久久久| 日韩精品卡通动漫网站| 国产一区二区三区四区三区四| 国产精品美女www| 色窝窝无码一区二区三区| 亚洲色欲色欲www| 免费在线观看毛片网站| 成人爽a毛片| 久久艹在线视频| 中文字幕人妻一区二区三区视频| 91亚洲精品久久久蜜桃| 成人午夜视频免费观看| 伊人久久一区| 日韩在线观看视频免费| 成人一级免费视频| 久久老女人爱爱| 国产免费观看高清视频| 中文久久电影小说| 精品国产一区二区三区在线观看| 无码人妻精品一区二区| av电影在线观看一区| www.18av.com| 中文字幕一区图| 欧美多人爱爱视频网站| 国产熟女一区二区丰满| 亚洲欧洲国产专区| 国产成人美女视频| 欧美色蜜桃97| 国产黑人绿帽在线第一区| 深夜福利在线视频| 精品国产91久久久| 国产精品一级黄片| 亚洲在线电影| 欧美一区二区三区成人久久片| 性欧美freesex顶级少妇| 国产偷亚洲偷欧美偷精品| 日本一二三区视频| 99久久久国产精品免费蜜臀| 欧美黑人经典片免费观看 | 欧美亚洲动漫制服丝袜| xxx在线播放| 强制捆绑调教一区二区| 亚洲国产欧洲综合997久久 | 亚洲成人777| 捆绑裸体绳奴bdsm亚洲| 久久久国产亚洲精品| 精品精品国产国产自在线| 一道本无吗一区| 亚洲香肠在线观看| 中国女人特级毛片| 国产一区二区福利视频| 免费成人午夜视频| 日韩久久电影| 国产偷久久久精品专区| 播放一区二区| 性欧美亚洲xxxx乳在线观看| 国产在线你懂得| 日韩视频一区二区三区在线播放| 欧美三级一区二区三区| 国产精品国产自产拍高清av| 国产精品扒开腿做爽爽爽a片唱戏| 日韩二区在线观看| 成人av在线播放观看| 欧美久久综合网| 国产成人精品免费视频大全最热| 欧美大胆性生话| 九九热精品在线| 成人资源www网在线最新版| 日韩精品一区二区三区中文精品| 啪啪小视频网站| 亚洲一区二区免费视频| 亚洲女同二女同志奶水| 97se亚洲国产综合自在线不卡| www.污网站| 天堂在线亚洲视频| 成人毛片一区二区| 欧美激情91| 在线看无码的免费网站| 自拍偷拍一区| 官网99热精品| 亚洲一区二区小说| 国产精品久久久久不卡| 亚洲欧美韩国| 高清欧美性猛交| av黄在线观看| 色偷偷9999www| 国产色在线 com| 亚洲精品永久免费| 欧美 日韩 综合| 日韩欧美激情一区| 国产又粗又猛又爽又黄视频| 欧美综合一区二区| 国产精品视频123| 午夜伦理一区二区| 精品小视频在线观看| 亚洲精品老司机| 免费看特级毛片| 综合分类小说区另类春色亚洲小说欧美| 人人妻人人藻人人爽欧美一区| www.av精品| 捆绑凌虐一区二区三区| 91一区一区三区| 成人手机在线免费视频| 99久久久精品| 91视频啊啊啊| 91香蕉视频黄| 狠狠人妻久久久久久综合蜜桃| 972aa.com艺术欧美| 50一60岁老妇女毛片| aa级大片欧美| www.自拍偷拍| 久久久99精品久久| 永久免费毛片在线观看| 久久精品人人做人人爽人人| 国产精品毛片一区二区| 国产欧美日韩亚州综合 | 午夜精品福利在线| 国产极品美女高潮无套嗷嗷叫酒店| 亚洲欧美日韩一区二区 | 欧美日韩小视频| 怡春院在线视频| 欧美日产国产精品| 国产精品久久久久毛片| 日韩欧美高清dvd碟片| 国产综合在线播放| 亚洲美女av黄| 色综合久久久久综合一本到桃花网| 日韩在线精品视频| 欧美xxx黑人xxx水蜜桃| 久久久久久久久亚洲| 深夜成人在线| 国产精品一区=区| 久久国际精品| 精品国产一区二区三区四区vr | 成人av在线看| 日本黄色特级片| 国产精品欧美久久久久无广告| 久久国产波多野结衣| 亚洲妇熟xx妇色黄| jizz国产在线观看| 宅男在线国产精品| 亚洲欧洲成人在线| 中文字幕亚洲欧美在线| 主播国产精品| 日韩av片免费在线观看| 国产精品美女午夜爽爽| 国产精品视频免费观看| 九九久久婷婷| 小泽玛利亚av在线| 国产欧美亚洲一区| 中文字幕久久av| 成人高清伦理免费影院在线观看| 欧美熟妇一区二区| 亚洲欧美日韩在线| 久久久久99精品成人片三人毛片| 欧美日韩中文字幕一区| 黑人乱码一区二区三区av| 国产亚洲欧洲高清一区| 在线不卡日本v二区707| 日韩av大片免费看| 日本免费一区二区视频| 欧洲成人一区二区| 欧美日韩四区| 特级丰满少妇一级| www.激情成人| 少妇被躁爽到高潮无码文| 狠狠色噜噜狠狠狠狠97| 国产精品久久久久精| 精品亚洲精品福利线在观看| 国产精品va在线观看视色| 欧美综合在线观看| 99久久香蕉| 亚洲一区二区三区在线观看视频 | 自拍偷拍国产亚洲| 一级片中文字幕| 日韩一区二区三免费高清| 欧洲成人av| 九色成人免费视频| 色综合久久久| 日本不卡久久| 亚洲成人原创| 手机在线播放av| 国产精品理论片| 中文字幕在线天堂| 亚洲精品456在线播放狼人| 超碰在线caoporen| 国产精品私拍pans大尺度在线| 欧美一性一交| 国产欧美久久久久| 韩日欧美一区二区三区| 人妻无码一区二区三区免费| 欧美性xxxxx极品| www.欧美国产| 久久99精品视频一区97 | 国产日韩精品一区观看| 中文字幕午夜精品一区二区三区| 污网站免费在线| 日本一区二区综合亚洲| 福利网址在线观看| 亚洲激情自拍图| 77thz桃花论族在线观看| 国产精品果冻传媒潘| 欧美久久99| www.欧美com| 亚洲高清三级视频| 欧洲av在线播放| 久久免费精品日本久久中文字幕| 嫩呦国产一区二区三区av| 中文字幕一区二区三区四区五区六区| 日本特黄久久久高潮| 嘿嘿视频在线观看| 欧美午夜免费电影| 成年人在线看| 国产欧美在线观看| 国产精品99久久| 中文字幕第三区| 一区二区三区在线视频免费| 精品人妻一区二区三区三区四区 | 久草视频免费在线| 日韩精品一区在线观看| 免费在线看电影| 久久天天狠狠| 久久香蕉精品| 波多野结衣欲乱| 日韩欧美一区在线观看| 国产三级伦理在线| 久久婷婷人人澡人人喊人人爽| 国产日韩欧美一区二区三区在线观看| 好吊色视频一区二区三区| 欧美日韩国产一区中文午夜| 天天影院图片亚洲| 国产成人亚洲综合青青| 99成人超碰| 四虎1515hh.com| 婷婷综合另类小说色区| 九色蝌蚪在线| 91精品视频网站| 亚洲国产免费| 中字幕一区二区三区乱码| 欧美日韩精品久久久| 日本一级理论片在线大全| 国产在线精品日韩| 日韩激情一二三区| 精品欧美一区二区久久久久| 亚洲国产一区自拍| 国产成人精品一区二区三区免费| 色哟哟免费网站| 97精品国产露脸对白| 亚洲中文字幕一区二区| 久久久久久久久国产精品| 国产91精品对白在线播放| 加勒比av中文字幕| 午夜免费久久看| 欧美成人高清在线| 国产乱码精品一区二区三区卡| 久久久久久一区二区| 免费在线观看一级片| 亚洲人成自拍网站| 日韩精品视频在线看| 国产97色在线 | 日韩| 亚洲乱码国产乱码精品精98午夜| 欧美大片aaa| 99在线观看| 美女免费视频一区二区|