精品欧美一区二区三区在线观看 _久久久久国色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一区二区| 欧美重口另类| 亚洲一区中文在线| 精品欧美日韩在线| 夜夜躁很很躁日日躁麻豆| 精品1区2区3区4区| 中文字幕日韩欧美| 可以看的av网址| 色香欲www7777综合网| 亚洲精品视频在线观看网站| 免费在线国产精品| 亚洲AV无码精品色毛片浪潮| 首页国产欧美久久| 久久久在线视频| 女同久久另类69精品国产| 成人性生交大片免费看96| 欧美无乱码久久久免费午夜一区| 人妻少妇精品久久| 国产激情在线观看| 国产欧美一区二区精品性色超碰 | 欧美videos粗暴| 亚洲成人tv网| 黄色一级大片免费| 最新97超碰在线| 久久久久久97三级| 精品国产一区二区三| 99久久国产热无码精品免费| 免费高清在线视频一区·| 97视频免费在线观看| 国产女人18水真多毛片18精品| 国产成人精品免费视| 亚洲高清色综合| 久久久久99人妻一区二区三区| 开心久久婷婷综合中文字幕| 色噜噜夜夜夜综合网| 日韩中字在线观看| 青草视频在线免费直播| 亚洲精品乱码久久久久久日本蜜臀| 亚洲高清视频一区二区| 国产免费av高清在线| 久久综合九色综合欧美亚洲| 国产精选一区二区| 刘亦菲毛片一区二区三区| 国产麻豆精品在线观看| 成人中文字幕在线观看| 一级做a爱片性色毛片| 免费观看30秒视频久久| 国产精品嫩草影院久久久| 天天干天天色综合| 玖玖精品视频| 国产黑人绿帽在线第一区| 激情五月婷婷网| 另类图片国产| 日本不卡免费高清视频| 手机在线看片1024| 首页欧美精品中文字幕| 国产精品都在这里| 中文字幕永久在线观看| 久久99国产精品久久99果冻传媒| 国产精品亚洲美女av网站| 在线观看国产精品视频| 精品一区二区三区日韩| 91免费观看| 日本韩国免费观看| 久久综合色婷婷| 日本视频一区二区不卡| av资源种子在线观看| 亚洲欧美自拍偷拍| 国产亚洲精品久久久久久久| 国产直播在线| 在线免费观看日韩欧美| 九九九九九国产| 哺乳一区二区三区中文视频| 日韩av网站在线| 一区二区精品免费| 久久久久国产精品| 欧美激情影音先锋| 亚洲熟妇无码乱子av电影| 日本vs亚洲vs韩国一区三区| 91精品综合久久久久久五月天| www男人的天堂| 2023国产精品视频| 中文字幕一区二区三区四区五区六区| 国产成人在线视频免费观看| 亚洲mv在线观看| 国产野外作爱视频播放| 视频一区视频二区欧美| 亚洲精品在线不卡| 精品国产精品国产精品| 国产一区导航| 91免费国产网站| 亚洲欧美综合在线观看| 亚洲欧洲成人av每日更新| 欧美国产日韩激情| 日韩一区二区三免费高清在线观看| 日韩美女一区二区三区四区| 好吊视频在线观看| 国产主播一区| 国产欧美最新羞羞视频在线观看| 成人毛片视频免费看| 中文字幕第一区第二区| 亚洲人成无码网站久久99热国产 | 日本暖暖在线视频| 午夜精品福利在线| 亚洲美女爱爱视频| 台湾色综合娱乐中文网| 精品中文字幕在线2019| 中文字幕欧美在线观看| 成av人片一区二区| 中国成人在线视频| 三级成人黄色影院| 亚洲第一二三四五区| 久久人妻无码aⅴ毛片a片app| 一本色道久久综合亚洲精品不| 亚洲a级在线观看| melody高清在线观看| 精品成人av一区| 久久aaaa片一区二区| 日本不卡免费一区| 国产成人精品999| 亚州av在线播放| 亚洲一区二区三区三| 色18美女社区| 久久精品播放| 国产精品video| 久久手机免费观看| 精品久久久久久亚洲精品| 国产成人av片| 影视一区二区| 92福利视频午夜1000合集在线观看| 国产在线你懂得| 日韩欧美在线视频免费观看| www.17c.com喷水少妇| 欧美1级日本1级| 亚洲最大福利视频| 国产二区三区在线| 欧美一区二区三区在线电影| 日本激情视频一区二区三区| 日韩和欧美的一区| 日韩电影免费观看在| av综合电影网站| 日韩精品久久久久久福利| 国产一级片免费| 成人一区二区视频| 国产精品第157页| 国产精品白丝久久av网站| 日韩亚洲欧美成人| 91精品国产色综合久久不8| 国产欧美一区二区精品久导航| 日韩黄色片视频| 国产一区二区三区四区| 国产99久久精品一区二区| 免费毛片在线| 在线精品亚洲一区二区不卡| 亚洲黄色免费视频| 蜜臀久久99精品久久久画质超高清| 五月婷婷一区| 91丨精品丨国产| 国产精品久久久久久久久婷婷 | 国产96在线 | 亚洲| 成人免费在线电影网| 久久久久久久国产精品视频| 人妻91麻豆一区二区三区| 亚洲动漫第一页| 一出一进一爽一粗一大视频| 久久经典综合| 亚洲欧美久久234| 成人在线视频www| 欧美美最猛性xxxxxx| 日韩在线观看视频一区| 欧美日韩另类视频| 在线观看日本中文字幕| 蜜桃av一区二区三区| 91免费视频黄| 国产成人精品福利| 欧美在线日韩在线| 五月天婷婷在线视频| 日韩一区二区三区电影在线观看 | 一本色道久久| 日韩精品不卡| 日韩一区二区三区精品| 午夜精品久久久久久久99热| 国产鲁鲁视频在线观看免费| 欧美日韩aaaaa| 久久这里只有精品免费| 久久久久久电影| 欧美人与性动交α欧美精品| 国产婷婷精品| 亚洲精品偷拍视频| 久草精品视频| 国产一区在线播放| segui88久久综合9999| 国产亚洲一区二区精品| 精品人妻av一区二区三区| 天天做天天摸天天爽国产一区 | 国产精品一区二区三区毛片淫片| 99福利在线| 亚洲视频在线免费观看| 精品欧美在线观看| 欧美伊人久久大香线蕉综合69| 天天干中文字幕| 国产性色一区二区| 国产香蕉精品视频| 麻豆国产精品官网| 伊人成色综合网| 91av精品| 亚洲成人av动漫| 精品人人人人| 999精品视频一区二区三区| 欧洲一级精品| 午夜精品福利视频| 在线欧美三级| 最新国产精品亚洲| 欧美理论在线观看| 日韩欧美第一区| 一本大道伊人av久久综合| 午夜欧美在线一二页| 免费成人深夜夜行网站| 国产视频一区二区三区在线观看| 激情小说欧美色图| 久久精品国产亚洲a| 日本男人操女人| 日韩视频久久| 成人午夜免费在线视频| 久久久久久久久久久9不雅视频| 欧美精品亚洲| 日韩激情网站| 精品国产二区在线| 澳门久久精品| 99在线看视频| 538任你躁精品视频网免费| 成人福利视频在线观看| 成人做爰免费视频免费看| 国产suv精品一区二区| 草草视频在线观看| 欧美激情视频一区二区| 欧美巨大xxxx做受沙滩| 久久人人爽人人爽爽久久| 在线激情网站| 神马国产精品影院av| 国产理论电影在线观看| 亚洲性视频网站| 999国产在线视频| 在线观看亚洲视频| 国产乱子伦三级在线播放| 国产一区二区三区四区福利| 国产在线一二三区| 中文日韩在线视频| 在线视频婷婷| 日韩在线观看av| 黄色网址在线免费| 欧美成人三级视频网站| 自拍亚洲图区| 欧美丰满老妇厨房牲生活 | 特种兵之深入敌后| 国产91精品入口| 精品人妻一区二区免费视频| 99精品视频在线免费观看| 中文字幕乱码在线| 久久精品夜夜夜夜久久| 特级西西www444人体聚色 | 精品香蕉在线观看视频一| 日韩欧美在线番号| 影音先锋日韩有码| 麻豆系列在线观看| 欧美第一淫aaasss性| 美女av在线免费看| 国产精品免费网站| 日本精品视频| 精品免费日产一区一区三区免费| 小嫩嫩12欧美| 亚洲亚洲精品三区日韩精品在线视频| 99久久影视| 日本欧美视频在线观看| 亚洲欧美久久久| www欧美激情| 国产91富婆露脸刺激对白| 国产精品九九九九九| 中文字幕欧美三区| 欧美精品xxxxx| 欧美日韩国产麻豆| 91精品国产乱码久久久久| 亚洲黄色在线观看| 国产色在线 com| 欧美伦理91i| 老司机2019福利精品视频导航| 国产精品三级美女白浆呻吟| 玖玖玖视频精品| 欧美日韩一区二区三区在线观看免| 成人精品亚洲| 国产免费黄色一级片| 蜜臀久久久久久久| 亚洲精品第二页| 中文字幕五月欧美| 在线观看黄网站| 91精品国产麻豆| 噜噜噜噜噜在线视频| 久久999免费视频| 成人一区视频| 国产精品美女黄网| 欧美高清视频在线观看mv| 黄色一级片播放| 国产一区二区久久| 亚洲av无码国产精品麻豆天美| 亚洲女爱视频在线| 成人毛片一区二区三区| 精品久久久久久最新网址| 色网站在线看| 国产成人精品视频| 国产成人精品福利| 成人在线观看www| 日本aⅴ免费视频一区二区三区| 91人人澡人人爽| 综合久久久久久| 精品乱码一区内射人妻无码| 日韩激情在线视频| 超免费在线视频| 亚洲中国色老太| 国产高清欧美| 国产理论在线播放| 91老师片黄在线观看| 日本天堂在线视频| 日韩欧美国产电影| 中文字幕中文字幕在线十八区| 国产精品视频男人的天堂| 国产精品欧美在线观看| 久久视频这里有精品| 国产成人免费高清| www.毛片com| 欧美疯狂做受xxxx富婆| 最近高清中文在线字幕在线观看| 国产成人a亚洲精品| 国产99久久| 欧美日韩中文在线视频| 99v久久综合狠狠综合久久| 日韩美女视频网站| 亚洲国产精品久久久久久| 青草av在线| 国产一级特黄a大片99| 激情成人综合| 国产污在线观看| 亚洲国产一区二区三区 | 国产日本久久| 亚洲春色在线视频| 久久精品二区亚洲w码| 国产探花视频在线| 欧美日韩精品二区第二页| 尤物视频在线免费观看| 国产在线视频一区| 久久久久久美女精品| 宇都宫紫苑在线播放| 亚洲小说欧美激情另类| 免费观看黄色一级视频| 国模精品视频一区二区| 网曝91综合精品门事件在线| 丰满人妻中伦妇伦精品app| 久久久久久电影| 中文字幕 自拍偷拍| 理论片在线不卡免费观看| 精品伊人久久| 久久99久久99精品| 91视频国产资源| 中日韩av在线| 欧美精品中文字幕一区| 国产伦精品一区二区三区免费优势| 久草视频这里只有精品| xnxx国产精品| 中文字幕久久熟女蜜桃| 久久久成人精品视频| 视频一区中文字幕精品| 少妇高潮喷水久久久久久久久久| 久久夜色精品国产噜噜av| 中文字幕一区二区人妻痴汉电车| 久久精品视频免费播放| 久久香蕉网站| 国产成人手机视频| 日韩毛片视频在线看| 污污网站在线免费观看| 国产精品电影在线观看| 91精品观看| 超碰97人人干| 5858s免费视频成人| free性m.freesex欧美| 神马影院一区二区| 国产成人在线视频免费播放| 啦啦啦免费高清视频在线观看| 在线看日韩av| 国产精品极品在线观看| 亚洲免费av一区二区三区| 一个色综合av| 888av在线| 精品乱码一区二区三区| 久久99国产精品尤物| 成人毛片18女人毛片| 麻豆乱码国产一区二区三区| 亚洲+小说+欧美+激情+另类| 日本少妇激三级做爰在线| 色偷偷久久一区二区三区| 1769免费视频在线观看| 手机成人在线|