日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

Spring Integration关键案例与现实生活场景

發布時間:2023/12/3 javascript 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Spring Integration关键案例与现实生活场景 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

這篇文章將總結Spring Integration(SI)的重要要點以及消息傳遞集成模式。 對于每個關鍵提示,我都會根據我的經驗添加一個真實的示例。

分離器

一個。 它能做什么?

拆分器實際上是一種模式,它在某一點接收一條消息并將其拆分為多個。

b。 為什么對我有好處?

當您要將內容拆分為多個部分時,可以使用“拆分器”。 每個部分將異步處理內容。

C。 現實生活中的例子

在交易系統中,您可以進行交易請求。 該請求假定要執行以下幾個步驟:(針對提供者執行該請求,將其記錄在DB中,向客戶端發送通知)

使用Splitter,您可以一次完成所有操作。

d。 SI示例:

<int:splitter id="tradeSplitter" input-channel="tradeSplitterInputChannel" output-channel="outPutChannel">

路由器

一個。 它能做什么?

路由器是一種機制,當在某一點以基于內容的標準接收消息時,它將分派到特定的目的地。

b。 為什么對我有好處?

當您實際有不同的消息輸入需要根據其內容進行不同的處理時,路由器非常方便。

C。 現實生活中的例子

因此,您的基礎結構中具有通知功能。 每個客戶選擇的通知方式有所不同(電子郵件,短信,傳真,Web服務等)。 通知請求被發送到客戶端,并且基于請求內容,路由器將選擇將請求處理到哪個組件:EmailService,SmscService,FaxService等。

d。 SI示例:

router id="notificationsRouter" input-channel="notificationInputChannel"

聚合器

一個。 它能做什么?

聚合器角色是等待一組相關消息。 在檢索到所有預期的消息之后,它將能夠合并它們并發送單個結果。 聚合器能夠通過組相關性ID同時處理不同的組消息。

b。 為什么對我有好處?

通常,聚合器與拆分器一起工作。 將請求并行拆分到多個目標之后,您可能需要匯總所有目標結果并將最終結果作為輸出發送。

C。 現實生活中的例子

在交易系統中,您從不同的提供商處獲得不同的價格。 通常在所有提供商中選擇最優惠的價格。 匯總器將能夠匯總所有價格并發回最優惠的價格。

d。 SI示例:

<int:aggregator input-channel="bestPriceAgg" output-channel="bestPriceChannel" send-partial-result-on-expiry="true"> </int:aggregator>

過濾

一個。 它能做什么?

簡而言之:“您想收到此消息嗎?”

b。 為什么對我有好處?

您的組件可能會收到不同的消息。 您可以根據消息有效負載過濾消息,而不是處理不必要的消息(在EJB世界中,它與消息驅動的Bean選擇器非常相似)。

C。 現實生活中的例子:

在交易系統世界中,您可以選擇是否包含最終價格的傭金。 您的職責是僅向希望的客戶增加傭金。 通過過濾器的該組件將僅接收基于傭金的價格。

d。 SI示例:

<filter input-channel="commisionsChannel" ref="selector" output-channel="output"/>

變壓器

一個。 它能做什么?

轉換器可以接收消息并將其有效載荷從一種類型轉換為另一種類型。

b。 為什么對我有好處?

您可能已根據目的地將消息格式從一種轉換為另一種。

b。 為什么對我有好處?

很多時候,我們以一種格式接收輸入,然后需要在添加/修改/刪除有效載荷內容之后將其解析或轉換為其他格式(例如,從XML轉換為String,反之亦然)。

C。 現實生活中的例子

因此,您有一個訂購請求。 該請求需要以特定格式放置在數據庫中,之后,需要以xml格式發送給客戶端。 您可以轉換有效載荷以適合您的目的地需求。

d。 SI示例:

<object-to-string-transformer input-channel="in" output-channel="out"/>

SI中還有其他組件。 那些是最受歡迎的。

參考: IdanFridman.com博客上來自JCG合作伙伴 Idan Fridman的Spring Integration關鍵筆記以及現實生活場景 。

翻譯自: https://www.javacodegeeks.com/2013/05/spring-integration-key-notes-with-real-life-scenarios.html

總結

以上是生活随笔為你收集整理的Spring Integration关键案例与现实生活场景的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。