Spring集成–第1節– Hello World

Spring Integration的“ Hello World ” –考慮一個簡單的程序,以使用Spring Integration將“ Hello World”打印到控制臺,并在此過程中訪問一些企業集成模式概念

在進入程序本身之前,快速回顧一下消息傳遞概念將很有用–消息傳遞是一種集成樣式,其中兩個獨立的應用程序通過中介相互通信–中介被稱為“消息傳遞系統”。

企業集成模式描述了基于消息的應用程序集成中常見的與集成相關的問題及其推薦的解決方案。

例如。 考慮企業集成模式之一– 消息通道 ,引用《 企業集成模式》一書 :

“消息傳遞頻道”正在嘗試解決的問題是:

企業具有兩個需要進行通信的獨立應用程序,最好使用消息傳遞進行通信。
一個應用程序如何通過消息傳遞與另一應用程序通信?

解決方案是:

使用消息通道連接應用程序,其中一個應用程序將信息寫入該通道,而另一個應用程序從該通道讀取該信息。
所有其他企業集成模式均以相同的方式描述。

快速訪問Enterprise Integration Patterns的原因是要設置上下文– Spring Integration與Enterprise Integration Patterns非常緊密地結合在一起,并且是前面提到的“消息系統”。

現在來看使用Spring Integration的Hello World:

首先是一個小的junit:

@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration("helloworld.xml")
public class HelloWorldTest {@Autowired@Qualifier("messageChannel")MessageChannel messageChannel;@Testpublic void testHelloWorld() {Message<String> helloWorld = new GenericMessage<String>("Hello World");messageChannel.send(helloWorld);}
}

在這里,一個MessageChannel被連接到測試中,第一個應用程序(這里是Junit),向Message Channel發送一條Message(在這種情況下為字符串“ Hello World”),然后從“ Message Channel”中讀取消息并寫入將消息發送給系統。

現在,讓我們看一下“某物”如何從消息通道中提取消息并將其寫到系統的其余部分:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:int="http://www.springframework.org/schema/integration"xmlns:int-stream="http://www.springframework.org/schema/integration/stream"xsi:schemaLocation="http://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration-2.1.xsdhttp://www.springframework.org/schema/integration/stream http://www.springframework.org/schema/integration/stream/spring-integration-stream-2.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><int:channel id="messageChannel"></int:channel><int-stream:stdout-channel-adapter channel="messageChannel" append-newline="true"/></beans>

上面是使用Spring Custom名稱空間(這里是Integration命名空間)描述的Spring Integration流。 創建了一個“消息通道”,即想象中的“消息通道”,將“ Hello World”“消息”放入“消息通道”,“通道適配器”從中獲取消息并將其打印到標準輸出中。

這是一個小程序,但是它使用了三種企業集成模式- 消息 (“ Hello World”,它是發送到消息傳遞系統的信息包,是先前介紹的“ 消息通道 ”,而新的是消息傳遞)。 Channel Adapter ,這里是一個出站通道適配器,用于將消息傳遞系統連接到應用程序(在本例中為系統輸出),進一步顯示了Spring Integration如何與帶有其Spring自定義名稱空間的Enterprise Integration Patterns術語保持緊密的一致。

這個簡單的程序介紹了Spring Integration,在接下來的幾節課中,我將使用更多示例來更詳細地介紹Spring Integration。

參考文獻:
1. Spring Integration參考: http : //static.springsource.org/spring-integration/reference/htmlsingle/
2.企業集成模式: http : //www.eaipatterns.com/index.html 3. EIP的Visio模板: http : //www.eaipatterns.com/downloads.html

參考: all和其他博客中的JCG合作伙伴 Biju Kunjummen提供的Spring,Spring Integration,Enterprise Development 。


翻譯自: https://www.javacodegeeks.com/2012/07/spring-integration-session-1-hello.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/371915.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/371915.shtml
英文地址,請注明出處:http://en.pswp.cn/news/371915.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

正則表達式貪婪模式與懶惰模式

正則表達式貪婪匹配模式&#xff0c;對于初學者&#xff0c;往往也很容易出錯。有時候需要匹配一個段代碼內容&#xff0c;發現匹配與想要不一致。發現原來&#xff0c;跟貪婪模式有關系。如下&#xff0c;我們看下例子&#xff1a; 什么是貪婪模式 字符串有: “<h3>abd&…

stm32 薄膜鍵盤原理_市面上的筆記本鍵盤優缺點解析,看完秒懂

大家在選購電腦時&#xff0c;很多人的關注重點都是筆記本的配置好不好、外觀設計酷不酷和電池續航能力強不強&#xff0c;對電腦鍵盤往往不會太在意&#xff0c;其實一個好的電腦鍵盤也可以幫助你提高工作效率&#xff0c;特別對于小編這樣的文字工作者&#xff0c;如果鍵盤手…

計算機等級考試心得體會,計算機等級考試心得體會(2)

估計以后的考試也可能略有變化&#xff0c;即逐漸增加使用命令的條數。由于該內容變化小&#xff0c;考生應當練習到純熟的境地&#xff0c;在考試時用盡可能少的時間來做這部分內容&#xff0c;以使其他內容有更多的時間。六題能做出五題即可&#xff0c;有一題一時想不起&…

Web開發框架–第1部分:選項和標準

在我的公司&#xff0c;我們正在評估未來幾年將使用哪種Web開發框架。 自上次評估以來&#xff0c;我們一直在使用由Struts 2驅動的Java應用服務器作為MVC&#xff0c;將Tiles作為模板引擎&#xff0c;將jQuery用于Javascript awesomennes&#xff0c;將DWR用于AJAX調用&#x…

增加一個類的功能可以采用繼承或者代理模式或者裝飾者模式

增加一個類的功能有3種辦法&#xff1a; 1.繼承 2.代理模式 3.裝飾者模式轉載于:https://www.cnblogs.com/panxuejun/p/6127837.html

dell增強保護套裝還原失效_汕頭長安歐尚汽車音響改裝升級,還原真實音色

今天給大家分享的是汕頭車韻汽車音響改裝店開業以來&#xff0c;升級改裝的第113輛長安汽車。長安歐尚x7外觀設計十分出彩&#xff0c;整體造型動感十足&#xff0c;前臉采用六邊形大尺寸的前格柵&#xff0c;并加入了“云鷹之翼”的設計元素&#xff0c;造型十分具有攻擊性&am…

POJ 2386 Lake Counting

鏈接&#xff1a;http://poj.org/problem?id2386 Lake Counting Time Limit: 1000MS Memory Limit: 65536KTotal Submissions: 24263 Accepted: 12246Description Due to recent rains, water has pooled in various places in Farmer Johns field, which is represented by a…

計算機窗口顏色不能自定義,用RBG顏色設置自定義顏色

這個是Mac自帶的測色計快捷鍵shift command c即可復制RBG格式的顏色#DD0000 這個是csdn 的logo里的紅色我們得到的是十六位顏色代碼但是UIColor()只有這幾種初始化方式init(white: CGFloat, alpha: CGFloat)init(hue: CGFloat, saturation: CGFloat, brightness: CGFloat, al…

http協議和瀏覽器緩存問題

HTTP是超文本傳輸協議。 HTTP是一個應用層協議&#xff0c;由請求和響應構成&#xff0c;是一個標準的客戶端服務器模型。HTTP是一個無狀態的協議。 轉載于:https://www.cnblogs.com/hodgson/p/6128003.html

Spring3國際化和本地化

我最近想將Spring 3提供的國際化和本地化功能添加到我當前的項目之一中。 我瀏覽了Spring文檔&#xff0c;然后在Internet上搜索以找到一些資源。 但是我找不到能夠滿足客戶要求的資源。 大多數教程都像hello world應用程序&#xff0c;它提供了基本的理解。 即使是spring文檔&…

h3c交換機 查看二層交換機端口ip_【分享】項目中如何選到稱心如意的交換機?...

項目中如何選擇交換機&#xff1f;這七個步驟不能少如何選擇交換機&#xff1f;如何根據項目確定網絡結構&#xff1f;我們在做大部分項目都有這樣的疑問&#xff0c;交換機做為弱電中最常用的設備之一&#xff0c;關于他的使用與選擇&#xff0c;不得不知&#xff0c;本期我們…

SSH中一些典型的問題

struts2 1-1&#xff1a;為什么每次請求都要創建一個Action對象&#xff1f; 是出于對線程安全的考慮&#xff0c;每個request都不會相互影響 1-2&#xff1a;ModelDriven攔截器的配置中refreshModelBeforeResult解決了什么問題&#xff1f; 先把舊的model對象從ValueStack…

為什么計算機連接不上打印機,為什么電腦連接打印機后卻沒反應

2013-12-12我的筆記本怎么連接不了打印機 顯示是這樣的好&#xff1a;以下方法供您參考&#xff1a;看一下您的系統服務中這兩個(最上面 和最下面的是不是沒啟用)總之是您的局域網連接沒有連接上&#xff0c;要不在網上鄰居里您會看到其他的機器的&#xff0c;這是搜到的解決的…

JavaFX 2.0布局窗格– BorderPane

BorderPane非常適合開發更復雜的布局。 通常&#xff0c; BorderPane提供五個不同的區域&#xff1a;頂部&#xff0c;右側&#xff0c;底部&#xff0c;左側和中央。 您可以通過調用setTop/setBottom/set…方法將Node設置到每個區域。 這種方法使開發“類似于網站”的應用程序…

頁面排版簡單樣式

頁面排版簡單樣式demo <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.org/1999/xhtml" xml:lang"zh-cn"> &l…

JavaWeb基礎(jsp初識)

jsp, java server page jsp頁面是在服務器上運行的一個頁面 動態網頁 與后臺有數據交互的頁面 與其他語言的區別: jsp 使用java語言進行開發, 安全性高, 適合大型項目, 企業級的文本應用分布式項目, 服務器集群, hadoop asp.net 使用c#, .Net平臺, 簡單易用, 因為不開源, 所以安…

nao機器人拆解_一些機器人硬件網站

以前收集過一些網站&#xff0c;偏機器人機械結構、硬件、參數(也有模擬或算法)。在 https://www.zhihu.com/question/19826366 也夾雜著一些網址&#xff0c;但是有些網址沒有深入的內容&#xff0c;排版也不好&#xff0c;所以 在這里編輯成一個列表&#xff0c;方便歸檔。歡…

心電圖是模擬計算機嗎,心電圖儀

心電圖儀是由威廉愛因托芬(W. Einthoven,1860-1927)發明的。 什么是心電圖儀(機)M311986 心電圖儀能將心臟活動時心肌激動產生的生物電信號(心電信號)自動記錄下來&#xff0c;為臨床診斷和科研常用的醫療電子儀器。國內一般按照記錄器輸出道數劃分為&#xff1a;單道、三道、六…

從Java 8啟動項目拼圖?

在馬克雷因霍爾德 &#xff08; Mark Reinhold &#xff09;在他的《 項目拼圖&#xff1a;火車晚點 》一文中提出“將項目拼圖推遲到Java 9的下一個發行版中”。 他解釋了這樣做的原因&#xff1a;“仍然存在一些重大的技術挑戰”&#xff0c;并且“沒有足夠的時間來進行廣泛的…

ChannelOption用到的socket的標準參數

ChannelOption.SO_BACKLOG, 1024 BACKLOG用于構造服務端套接字ServerSocket對象&#xff0c;標識當服務器請求處理線程全滿時&#xff0c;用于臨時存放已完成三次握手的請求的隊列的最大長度。如果未設置或所設置的值小于1&#xff0c;Java將使用默認值50。 ChannelOption.SO_K…