(完整版)WebSphereMQ一小時快速入門_第1頁
(完整版)WebSphereMQ一小時快速入門_第2頁
(完整版)WebSphereMQ一小時快速入門_第3頁
(完整版)WebSphereMQ一小時快速入門_第4頁
(完整版)WebSphereMQ一小時快速入門_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、WebSphere MQ 一小時快速入門一、什么是中間件中間件是處于應用軟件和系統(tǒng)軟件之間的通用服務, 是一類以自己的復雜換取企業(yè)應用簡單化的可復用的基礎軟件。中間件主要分為消息中間件、應用服務器中間件、交易中間件等等。而今天,筆者曉奕主要向大家 介紹的正是 IBM廠商的消息中間件 WebSphere MQ。二、 WebSphere MQ簡介Websphere MQ 是 IBM 的商業(yè)消息通訊中間件 (Commercial Messaging Middleware) 。Websphere MQ 提供一個具有工業(yè)標準、安全、 可靠的消息傳輸系統(tǒng)。 它可實施在廣泛的 IBM 和非 I BM平臺上,

2、它的功能是控制和管理一個集成的商業(yè)應用,使得組成這個商業(yè)應用的多個分支程序(模塊) 之間通過傳遞消息完成整個工作流程。 通過使用 WebSphere MQ用戶可以簡單方便的開發(fā)出可靠、 高效的分布 式應用系統(tǒng)。、 WebSphere MQ主要對象消息是對使用它的應用程序有意義的以字節(jié)為單位的字符串。消息可以用來實現(xiàn)在相同或不同平臺上應用程序間的通信。隊列是用于存儲消息的數(shù)據(jù)結構。按功能可以分為本地隊列、遠程隊列、傳輸隊列、模板隊列、別 名隊列、死信隊列等等。隊列管理器在 WebSphere MQ中隊列管理器是基本的軟件系統(tǒng),隊列管理器可看成是隊列和其他對 象的容器。通道是一種提供從一個隊列管理

3、器到另一個隊列管理器的通信路徑。 它又叫消息通道, 用在分布式 的隊列把消息從一個隊列管理器發(fā)送到另一個隊列管理器。按照定義可以分為發(fā)送通道 (Sender) 、接收通 道 (Receiver) 、服務器通道 (Server) 、請求器通道 (Requester) 等。MQSC命令 是用來管理隊列管理器對象,包括隊列管理器本身、通道、隊列和進程定義??梢允褂胷unmqsc 向隊列管理器發(fā)出 MQSC 命令。四、WebSphere MQ體系結構WebSphere MQ 的體系結構如圖所示,它是由許多對象所組成的,主要包括隊列管理器、隊列、通 道、進程定義等對象。隊列管理器和 DB2數(shù)據(jù)庫中的實例

4、相似,隊列管理器好比是數(shù)據(jù)庫實例,隊列好比 是數(shù)據(jù)庫中的數(shù)據(jù)表,而消息就好似數(shù)據(jù)表中的某一行數(shù)據(jù)。五、本文的任務目標本文完整的演示了 WebSphere MQ的兩個最常用的任務。5.1 建立和驗證一個隊列管理器和一個隊列的本地安裝;5.2 建立和驗證使用兩個隊列管理器(一個作為發(fā)送方,一個作為接收方)的服務器至服務器的安裝六、MQ的本地安裝:注意: WebSphere MQ對象定義是區(qū)分大小寫的。如果您是使用MQSC命令以小寫方式輸入的任何文本會自動轉換成大寫,除非用單引號將他們引起來。所以請您對照以下例子進行操作的時候,請注意大小 寫和單引號的使用,以免影響學習效果。6.1 任務概述:使用

5、MQSC命令方式建立隊列管理器 to.queue.manager ,同時創(chuàng)建 MYRECEIVER.QUEU隊E列,并測 試往隊列中放入和讀取消息。6.2 定義配置的具體步驟:( 1 )作為 mqm組中的用戶登錄到 shell 中;通過輸入以下命令創(chuàng)建名為 to.queue.manager 的隊列管理器, -q 參數(shù)是指創(chuàng)建為缺省的隊列管理 器;crtmqm q to.queue.manager命令過程中你將會見到提示信息,它們通知您已經創(chuàng)建了隊列管理器并且已經創(chuàng)建缺省的WebSphere MQ 對象。2 )查看隊列管理器是否已經建立成功,請使用 dspmq 命令: dspmq該命令是用來顯示

6、系統(tǒng)中存在的隊列管理器,如上圖所示, to.queue.manager 已經建立成功,并 處于未運行的狀態(tài)。(3)要啟動隊列管理器,請輸入:strmqm 或者 strmqm to.queue.managerstrmqm 后不加參數(shù), 表示啟動缺省的隊列管理器, 為避免啟錯對象, 建議指定隊列管理器來啟動:提示隊列管理器已經啟動成功,管理員可以繼續(xù)使用dspmq命令產看隊列管理器的狀態(tài)如下:4)通過輸入下述命令來啟用 MQSC命令界面:runmqsc 或者 runmqsc to.queue.manager會顯示一條消息通知您已經啟動 MQSC會話。出現(xiàn)以上提示后,表示進入了 MQSC的交互管理界

7、面,MQSC沒有命令提示符,此時,管理員可以對該隊列管理器進行相關的命令方式的管理了5)通過輸入以下命令來建立名為 MYRECEIVER.QUEU的E本地隊列:define qlocal(myreceiver.queue)請注意, MQSC中輸入的所有小寫字符都會自動轉換為大寫,所以其實我們建立的本地隊列是大寫的 MYRECEIVER.QUE。UE建立完畢后,如下圖,會顯示一條消息通知您已經創(chuàng)建隊列:6)通過輸入以下命令來停止 MQSC:end從 MQSC會話退出回到 shell 中。7)現(xiàn)在,我們已經定義了:名為 to.queue.manager 的缺省隊列管理器 名為 MYRECEIVER

8、.QUEU的E隊列6.3 測試本地安裝的具體步驟下面開始測試 MQ的本地安裝。要測試隊列管理器和隊列, 可以使用 amqsput 樣本程序將消息放入隊列, 使用 amqsget 樣本程序從 隊列取回消息。具體步驟如下:(1)請先確保正確設置了 mq的環(huán)境變量,隊列管理器處于正在運行的狀態(tài),并檢查使用組mqm中的用戶登錄到 shell 中。我們可以使用下列命令將消息放入此隊列:amqsput MYRECEIVER.QUEUE 或者 amqsput MYRECEIVER.QUEUE to.queue.manager請注意,如果隊列屬于缺省的隊列管理器中,可以不用指定隊列管理器。為避免出錯,建議手工

9、指在一行或多行中輸入一些消息文本,后跟一行空白行,消息輸入即可完成并結束。2 )在未放入消息之前, 隊列的深度 curdepth 應該是 0 的,現(xiàn)在放入了一條消息, 隊列深度將會變?yōu)?1命令查詢出隊列深度為 1 的,為了驗證這個想法,我們可以重回到MQSC會話中,使用下述且是以 MY開頭的本地隊列,果然 curdepth 是為 1 ,說明消息輸入成功:再輸入完整的 queue 名字進行顯示:3)從本地隊列中取出消息,我們可以輸入下述命令:amqsget MYRECEIVER.QUEUE to.queue.manager如下圖,我們看到成功地從隊列中取出了消息!現(xiàn)在,我們已經成功地驗證了本地安

10、裝。七、MQ的服務器到服務器安裝7.1 任務概述承接上文,我們已經創(chuàng)建好了接收方的隊列管理器 to.queue.manager 和其上的隊列 MYRECEIVER.Q UEUE,現(xiàn)在我們仍需要繼續(xù)發(fā)送方的隊列管理器 from.queue.manager 和其上的遠程隊列、 傳輸隊列, 發(fā)送 方通道等,并需要回到接收方隊列管理器中創(chuàng)建接收通道和 Listener 。我們將在同一部機器上完成這些操 作,當然,如果你有條件,可以跨機器實踐,并保證機器間的通信鏈路是暢通的。7.2 定義配置的具體步驟( 1 )作為 mqm組中的用戶登錄到 shell 后,我們創(chuàng)建名為 from.queue.manage

11、r 的發(fā)送方隊列管理器:crtmqm from.queue.manager2)隊列管理器創(chuàng)建完成后,我們將其啟動:strmqm from.queue.manager(3)啟動 MQSC會話,并定義一條名為 MYTRANSMIT.QUEU的E本地隊列,該隊列將會被用作傳輸隊列,所以 該本地隊列的 usage 參數(shù)將會被定義為 xmitq :runmqsc from.queue.managerdefine qlocal(mytransmit.queue) usage(xmitq)4)通過輸入下列命令來定義遠程隊列的本地定義:define qremote(mysender.queue)rname(m

12、yreceiver.queue)rqmname(') xmitq(mytransmit.queue)5)遠程隊列定義完成后,我們可以使用如下命令查看其詳細配置項信息:display qremote(mysender.queue)請注意這里, rqmname項括號里的是小寫的接收方隊列管理器的名字,不知道你有沒有注意到我們在遠程隊列的 define 語句中使用了單引號呢?咔咔,功效就在這里,不然待會測試就會會出錯了。6)通過輸入下列命令來定義發(fā)送方通道:define channel(from.to.channel)chltype(sdr)conname(127.

13、0.0.1(1416) ') xmi tq(mytransmit.queue) trptype(tcp)注意, conname定義的是接收方所在機器的 ip 和 Listener 端口, 如果不寫端口則默認為 1414,為 避免防止端口沖突,建議自己定義一個未用的端口7) 此時,我們再次回到接收方隊列管理器的MQSC會話中,通過輸入以下命令來定義接收方的接聽器:define listener(myreceiver.listener) trptype(tcp) control(qmgr) port(1416)其中, port 項定義的端口必須與我們剛才在發(fā)送方通道定義時候所使用的端口號相

14、同。8 )接收方的 Listener 建立完成后,我們通過輸入以下命令建立接收方通道:define channel(from.to.queue) chltype(rcvr) trptype(tcp)請注意,接收方通道的名字需要和發(fā)送方通道的名字定義為一樣。9)好了,到現(xiàn)在為止,我們定義了以下對象: from.queue.manager 發(fā)送方隊列管理器 MYSENDER.QUEU遠E 程隊列 MYTRANSMIT.QUEUE傳 輸隊列 FROM.TO.CHANNEL發(fā) 送方傳輸通道 以及MYRECEIVER.LISTENER接 收方 ListenerFROM.TO.CHANNE接L 收方傳輸通

15、道至此,我們已經完成了服務器方式的安裝配置。下面我們即將開始測試。7.3 測試服務器到服務器安裝的具體步驟測試之前, 需要啟動發(fā)送方的通道和接收方的 Listener 。需要注意的是, 發(fā)送方不需要 Listener , 接收方的通道不需要手工啟動,在發(fā)送方通道啟動成功后,接收方通道會自動啟動。1)進入發(fā)送方的 MQSC會話,使用如下命令啟動發(fā)送方通道:sstart channel(from.to.channel)消息提示通道啟動完成后,我們可以使用如下命令查看通道的狀態(tài),如下圖所示,發(fā)送方的狀態(tài)tatus 是 runningdisplay chstatus(from.to.channel)2

16、)進入接收方的 MQSC會話,使用如下命令啟動 Listenerstart listener(myreceiver.listener)消息提示 Listener 啟動完成后,我們可以使用如下命令查看 Listener 的狀態(tài),如下圖所示, Listener 的狀態(tài) status 是 runningdisplay lsstatus(myreceiver.listener) i 14163)我們退出 MQSC會話,使用如下命令可以知道 1416 端口正在監(jiān)聽:netstat an | grep i listen | grep如上文所述, 接收方通道不需要手工啟動, 在發(fā)送方通道啟動后會自動啟動, 我們可以通過如下命令查看接收方通道的運行狀態(tài),如下圖所示,接收方通道的狀態(tài) status 也變成是 running :4)萬事俱備, 只欠東風!下面我們依然使用 amqsput 和 amqsget 命令對服務器安裝配置的架構進行測試。 使用如下命令往接收方隊列管理器的遠程隊列中輸入消息,:amqsput MYSENDER.QUEUE from.queue.manager5 )消息輸入完成后,我們可以回到MQSC會話中使用下述命令查詢出傳輸隊列當前深度curdepth 為 1:6)接著,我們從接收方的本地隊列中取出消息,我們可以輸入下述命令:amqsget

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論