1.spring integration 's architecture
主要提供兩個功能:
在系統(tǒng)內提供實現(xiàn)輕量級繁成、事件驅動交互行為的框架
在系統(tǒng)間提供一種基于適配器的平臺巾腕,以支持靈活的系統(tǒng)間交互
2.spring integration對于企業(yè)集成模式的支持
2.1Message:一個信息的單元祠墅,通常有消息頭(header)和消息內容(payload)組成
2.2Message channel:消息處理節(jié)點之間的連接毁嗦,負責將Message從生產者傳輸?shù)较M者狗准。
? ? 根據消費者的多少腔长,可分為point to point和publish-subscribe兩種
? ? 根據消息傳輸方式的不同,分為同步和異步兩種
2.3Message Endpoint:消息處理節(jié)點鸟召,消息從節(jié)點進入通道压状,也是從節(jié)點離開通道
幾個常見的Message EndPoint:
CHANNEL ADAPTER种冬,用于連接該適配器的特點是單向消息流的娱两,要么是消息通過該適配器進入通道谷婆,要么是消息通過該適配器離開通道
MESSAGING GATEWAY,處理的消息流和Channel Adapter不同异袄,不是單向的烤蜕,即有進入該節(jié)點的消息讽营,也會從該節(jié)點發(fā)出消息橱鹏。
SERVICE ACTIVATOR,該節(jié)點調用服務來處理輸入的消息糖荒,并將服務返回的數(shù)據發(fā)送到輸出通道捶朵。在spring integration中硼端,調用的方法被限定為本地方法調用珍昨。
ROUTER镣典,路由器兄春,將輸入的消息路由到某個輸出通道中
SPLITTER,將輸入的消息拆分成子消息
AGGREGATOR,將輸入的多個消息合并為一個消息
3.觀看書中例子hello-world思考
測試gateway時,下面代碼向通道names內放入消息world猪钮?
然后service-activator從names通道中獲得消息world,調用方法sayHello返回值到給gateway扑馁?
解釋:gateway有一個service-interface的屬性,這個屬性指向一個interface沿侈。當我們用一個接口聲明一個gateway時缀拭,spring integration會自動幫我們生成該接口的代理類蛛淋,這樣當我們往gateway發(fā)送消息時褐荷,spring integration會通過代理類把消息轉發(fā)到default-request-channel中去