Spring Integration學習1

  系統集成Spring Integration提供了基於Spring的EIP(Enterprise Integration Patterns,企業集成模式)的實現,主要解決不同系統之間的交互問題,通過異步消息驅動來達到系統交互時系統之間的鬆耦合,由Message、Channel、Message EndPoint組成。

一、Message:用來在不同部分之間傳遞的數據
1、消息體(payload):任何數據類型,如XML、JSON、Java對象等
2、消息頭(header):表示的元數據就是消息體的內容

二、Channel:消息發送者發送者發送消息到通道(Channel),消息接受者從通道(Channel)接收消息
1、頂級接口MessageChannel,其子接口:
    1)PollableChannel:可輪詢
    2)SubscribeChannel:可訂閱
2、常用消息通道
    1)PublishSubscribeChannel:允許廣播消息給所有訂閱者
    2)QueueChannel:允許消息接收者輪詢獲得信息,用一個隊列接收消息,隊列容量可配
    3)PriorityChannel:可按照優先級將數據存儲到隊列,依據消息頭中priority屬性
    4)RendezvousChannel:確保每一個接收者都接收到消息後再發送消息
    5)DirectChannel:默認消息通道,允許將消息發送給一個訂閱者,然後阻塞發送直到消息被接收
    6)ExecutorChannel:可綁定一個多線程的task executor
3、通道攔截器ChannelInterceptor:用來攔截髮送和接收消息的操作

三、Message EndPoint:是真正處理消息的組件
1、Channel Adapter:通道適配器,是一種連接外部系統或傳輸協議的端點,可分爲入站和出站,單向的
2、Gateway:消息網關,提供了雙向的請求/返回集成方式,也分爲入站和出站
3、Service Activator:可調用Spring的Bean來處理消息,並將處理後的結果輸出到指定的消息通道
4、Router:路由,可根據消息體類型、消息頭的值、定義好的接收表 作爲條件,決定消息傳遞到的通道
5、Filter:過濾器,類似於路由,決定消息是否可以傳遞給通道
6、Splitter:拆分器,將消息拆分成幾個部分單獨處理,拆分器處理的返回值是一個集合或者數組
7、Aggregator:聚合器,將多個消息合併爲一個消息。
8、Enricher:消息增強器,增加額外的消息到已有的消息中,又分爲消息體增強器和消息頭增強器
9、Transformer:轉換器,對獲得的消息進行一定的邏輯轉換處理
10、Bridge:連接橋,可以將兩個消息通道連接起來
 

 

發佈了71 篇原創文章 · 獲贊 159 · 訪問量 59萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章