您好,登錄后才能下訂單哦!
這篇“Spring Integration如何使用”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“Spring Integration如何使用”文章吧。
spring-integration是一個功能強大的EIP(Enterprise Integration Patterns),即企業集成模式。多個系統或者功能,少不了消息交互 ,Spring intergration的出現解決了系統與系統之間的功能之間消息交互的問題。
目標和原則
Spring集成的動機是以下目標:
為實現復雜的企業集成解決方案提供一個簡單的模型。
在基于Spring的應用程序中促進異步、消息驅動的行為。
促進對現有Spring用戶的直觀、增量采用。
Spring集成遵循以下原則:
為了模塊化和可測試性,組件應該是松散耦合的。
框架應該執行業務邏輯和集成邏輯之間的關注點分離。
擴展點在本質上應該是抽象的(但在定義良好的邊界內),以促進重用和可移植性。
我們首先看一下它的核心api
1. Message
Message,用來傳輸消息體的對象,所有的流程都圍繞著Message運轉。Message分為兩部分,header和payload。header是頭部信息通常用來保存如Id,時間戳,相關Id和返回地址等信息。payload是用來裝載數據的,它可以攜帶的任何類型對象。
2.MessageChannel
消息通道表示管道和過濾器體系結構的“管道”。生產者向通道發送消息,消費者從通道接收消息。因此,消息通道對消息傳遞組件進行了解耦,并提供了一個方便的點來攔截和監視消息。
(1)MessageChannel頂級接口
public interface MessageChannel { boolean send(Message message); boolean send(Message message, long timeout); }
發送消息時,返回值是true
消息發送成功。如果發送呼叫超時或被中斷,它將返回false
。
(2)PollableChannel,MessageChannel的子接口
public interface PollableChannel extends MessageChannel { Message<?> receive(); Message<?> receive(long timeout); }
此消息通道會緩存消息(可輪詢),與send方法一樣,當接收到消息時,如果發生超時或中斷,則返回值為null。
(3)SubscribableChannel,MessageChannel的子接口
public interface SubscribableChannel extends MessageChannel { boolean subscribe(MessageHandler handler); boolean unsubscribe(MessageHandler handler); }
因為SubscribableChannel基本接口是由將消息直接發送到其訂閱的頻道實施MessageHandler
的實例,因此消息通道不會緩存消息。
3.Message Endpoint
(1)Message Router
路由器,用來管理一個消息應該被發送到哪個channel中。相當于JAVA里面的switch case語句吧。判斷條件很多,可是使用header里面的參數具體值(比如header里面有個定義為testRouter的參數,數值為A,那么消息經過路由會發送到判斷為A的通道內,后面使用中再詳細講解)
(2)Message Filter
過濾器,用來判斷一個消息是否應該被傳輸。
(3)Service Activator
服務激活器是用于將服務實例連接到消息傳遞系統的通用端點。必須配置輸入消息通道,并且,如果要調用的服務方法能夠返回值,則還可以提供輸出消息通道。
(4)Message Transformer
消息轉換器負責轉換消息的內容或結構并返回修改后的消息。可能最常見的一種轉換器是將消息的有效負載從一種格式轉換為另一種格式(例如,從XML轉換為java.lang.String
)的一種。同樣,轉換器可以添加,刪除或修改消息的標頭值。
(5) Channel Adapter
通道適配器是將消息通道連接到其他系統或傳輸的終結點。通道適配器可以是入站的或出站的。通常,通道適配器在消息與從其他系統接收或發送到其他系統的任何對象或資源(文件,HTTP請求,JMS消息等)之間進行一些映射。根據傳輸情況,通道適配器還可以填充或提取消息頭值。
入站通道適配器端點將源系統連接到MessageChannel
。
出站通道適配器端點將a連接MessageChannel
到目標系統。
以上就是關于“Spring Integration如何使用”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。