MQ中將消息發送至遠程隊列的配置
摘自MQ資源管理器幫助文檔V7
在開始學習本教程之前,您需要從系統管理員處了解標識網絡上接收機器的名稱:IP地址、MQ的端口號、隊列管理器、接收(遠程機器)或者是發送的隊列(本地機器)名稱。
消息傳遞如圖示:
本教程介紹了如何設置一台計算機上的隊列管理器 QM_ORANGE 與另一台計算機上的隊列管理器 QM_APPLE 之間的消息傳遞。在第一台計算機上創建的消息被傳遞到第二台計算機上的隊列 Q1(此隊列被稱為遠程隊列)。
要點: 在本教程中,您將使用創建了隊列管理器 QM_APPLE 和本地隊列 Q1 的機器作為接收機器。
您將在發送機器上設置隊列管理器和隊列(遠程隊列定義和傳輸隊列)。然后定義消息通道。最后,您將把測試消息放入發送機器,並從接收機器上的隊列獲取該消息。
完成本教程后,您應該基本了解如何使用遠程隊列定義來設置和使用 WebSphere® MQ 消息傳遞。
一、 在發送機器上創建隊列管理器
二、 在發送隊列管理器上創建隊列
三、 創建消息通道
四、 將測試消息放入隊列
五、 驗證是否已發送測試消息
一、在發送機器上創建隊列管理器
在發送機器上使用 WebSphere MQ 資源管理器創建隊列管理器
無法遠程完成此過程。必須在發送機器上本地完成此過程。
- 啟動 WebSphere MQ 資源管理器。
- 在導航器視圖中,右鍵單擊隊列管理器文件夾,然后單擊新建 > 隊列管理器 此時會打開創建隊列管理器向導。
- 在隊列管理器名稱字段中,輸入 QM_ORANGE。
- 選中設置為缺省隊列管理器復選框。
- 單擊下一步兩次以轉至向導的步驟 3。
- 確保選中啟動隊列管理器復選框。
- 確保選中自動啟動隊列管理器復選框。
- 單擊下一步以轉至向導的步驟 4。
- 確保選中創建配置用於 TCP/IP 的偵聽器復選框。
- 如果完成按鈕不可用,那么在偵聽端口號字段中輸入另一個端口號。 如果當前值為 1414,那么嘗試輸入 1415 或 1416。
- 單擊完成。
WebSphere MQ 資源管理器的導航器視圖中的隊列管理器文件夾中會顯示表示此隊列管理器的圖標,並且在您創建隊列管理器后,該隊列管理器會自動開始運行。
在發送機器上打開命令提示符,然后按照以下步驟操作:
- 通過輸入以下命令來創建名為 QM_ORANGE 的缺省隊列管理器:
crtmqm -q QM_ORANGE
此時會顯示消息,告訴您已經創建了隊列和缺省 WebSphere MQ 對象。
- 通過輸入以下命令來啟動此隊列管理器:
strmqm
此時會顯示一條消息,告訴您何時啟動了該隊列管理器。
- 現在,您必須通過輸入以下命令來創建偵聽器:
runmqlsr -m QM_APPLE -t TCP -p (port number)
注: 如果未使用 -p 參數指定任何端口,那么使用缺省端口 1414,但請注意,不能對發送方和接收方使用相同的端口號,因此,如果其中一個為 1414,那么另一個就應該是 1415。
您現在已經創建了發送隊列管理器。下一個任務是在此隊列管理器上創建隊列。
使用 WebSphere MQ 資源管理器在發送隊列管理器上創建隊列
在發送隊列管理器上:
- 在導航器視圖中,展開隊列管理器文件夾。
- 展開隊列管理器 QM_ORANGE。
- 右鍵單擊隊列文件夾,然后單擊新建 > 遠程隊列定義... 此時會打開新建遠程隊列定義向導。
- 在名稱字段中,輸入 Q1。
- 在遠程隊列字段中,輸入 Q1。 【注:這里新建的遠程隊列的名稱,一定要和遠程機器上的隊列名稱相同,否則消息會發出去,但是遠程機器的隊列里面收不到消息,如上文提到的的Q1與Q1,或者是如下圖的testQ與testQ:
】
- 在遠程隊列管理器字段中,輸入 QM_APPLE。
- 在傳輸隊列字段中,輸入 QM_APPLE。
- 單擊完成。 您現在已經創建了遠程隊列定義。
- 單擊 QM_ORANGE 隊列管理器。
- 右鍵單擊隊列文件夾,然后單擊新建 > 本地隊列 此時會打開新建本地隊列向導。
- 在名稱字段中,輸入 QM_APPLE。
- 在用途字段中,選擇傳輸。
- 單擊完成。 您現在已經在本地機器上創建了傳輸隊列。
內容視圖中將會顯示新隊列 Q1 和 QM_APPLE。
如果內容視圖中未顯示這些隊列,請單擊位於內容視圖頂部的“刷新”按鈕 。
在發送機器上打開命令提示符,然后按照以下步驟操作:
- 通過輸入以下命令來啟動 MQSC:
runmqsc
此時會顯示一條消息,告訴您 MQSC 會話已啟動。
- 通過輸入以下命令來定義名為 QM_APPLE 的本地隊列:
define qlocal (QM_APPLE) usage (xmitq)
此時會顯示一條消息,告訴您何時創建了該隊列。
- 通過輸入以下命令來定義遠程隊列定義:
define qremote (Q1) rname (Q1) rqmname(QM_APPLE) xmitq (QM_APPLE)
您現在已經在發送隊列管理器上創建了隊列。下一個任務是創建發送隊列管理器和接收隊列管理器之間的消息通道。
三、創建消息通道
使用 MQ 資源管理器創建消息通道
- 在接收隊列管理器 QM_APPLE 上,創建通道的接收方端:
- 在導航器視圖中,展開先前創建的隊列管理器 QM_APPLE,然后展開高級文件夾。
- 右鍵單擊通道文件夾,然后單擊新建 > 接收方通道... 此時會打開新建接收方通道向導。
- 在名稱字段中,輸入 QM_ORANGE.QM_APPLE。
- 單擊完成。 您現在已經在接收機器上創建了接收方通道。
- 在發送隊列管理器 QM_ORANGE 上,創建通道的發送方端:
- 展開先前創建的隊列管理器 QM_ORANGE,然后展開高級文件夾。
- 右鍵單擊通道文件夾,然后單擊新建 > 發送方通道... 此時會打開新建發送方通道向導。
- 在名稱字段中,輸入 QM_ORANGE.QM_APPLE,然后單擊下一步。
- 在連接名稱字段中,輸入接收機器的計算機名稱或 IP 地址(您應該已經在系統管理員的幫助下獲得此信息)。
- 在傳輸隊列字段中,輸入 QM_APPLE。
- 單擊完成。
- 單擊通道文件夾。
- 右鍵單擊 QM_ORANGE.QM_APPLE。
- 從彈出菜單中,單擊啟動。
- 單擊確定。 您現在已經在發送機器上創建了發送方通道。
注: 您不必啟動接收方通道,因為它會在您設置發送方通道時自動啟動(當設置發送方通道時,您指定了接收方通道的 IP 地址)。
現在,已經在接收隊列管理器 QM_APPLE 上創建接收方通道 QM_ORANGE.QM_APPLE,並且已在發送隊列管理器 QM_ORANGE 上創建發送方通道 QM_ORANGE.QM_APPLE。此外,您還已經啟動發送方通道,這也自動地啟動了接收方通道。
在接收機器上打開命令提示符,然后按照以下步驟操作:
- 通過輸入以下命令來啟動 MQSC:
runmqsc
此時會顯示一條消息,告訴您 MQSC 會話已啟動。
- 通過輸入以下命令來定義接收通道:
define channel (QM_ORANGE.QM_APPLE) chltype (RCVR) trptype (TCP)
此時會顯示一條消息,告訴您何時創建了該通道。
- 通過輸入以下命令來停止 MQSC:
end
將顯示一些消息,然后會顯示命令提示符。
在發送機器上打開命令提示符,然后按照以下步驟操作:
- 通過輸入以下命令來啟動 MQSC:
runmqsc
此時會顯示一條消息,告訴您 MQSC 會話已啟動。
- 通過輸入以下命令來定義發送方通道:
define channel (QM_ORANGE.QM_APPLE) chltype (sdr) conname ('con-name') xmitq (QM_APPLE) trptype (tcp)
值 con-name是接收方隊列管理器的 TCP 地址。
- 通過輸入以下命令來啟動通道:
start channel (QM_ORANGE.QM_APPLE)
- 通過輸入以下命令來停止 MQSC:
end
將顯示一些消息,然后會顯示命令提示符。
您現在已經創建了將消息從發送隊列管理器 QM_ORANGE 發送到接收隊列管理器 QM_APPLE 上的隊列 Q1 所需的全部 WebSphere MQ 對象。下一個任務是發送測試消息。
使用 MQ 資源管理器測試消息放入隊列
點右鍵到遠程隊列上,選擇“放入測試消息…”:
在彈出的界面中輸入任何消息,點關閉或者是連續輸入即可。
使用 MQSC 來將測試消息放入隊列
在發送機器(主管隊列管理器 QM_ORANGE 的機器)上執行此任務。
使用 amqsput樣本程序來將消息放入您創建的隊列。
在 Windows®上,缺省情況下樣本程序隨 WebSphere® MQ 服務器或客戶機一起安裝。在 Linux®上,需要安裝樣本程序 RPM。
打開命令提示符,然后按照以下步驟操作:
- 啟動 amqsput樣本程序,如下所示:
- 在 Linux 上,切換到 /opt/mqm/samp/bin 目錄,然后輸入命令:./amqsput Q1
- 在 Windows 上,輸入命令:amqsput Q1
此時會顯示以下消息:
樣本 amqsput0 啟動
目標隊列為 Q1
- 在一行或多行上輸入某些消息文本,然后按 Enter 鍵兩次。 此時會顯示以下消息:
樣本 amqsput0 結束
您現在已經創建了測試消息並將其放入遠程隊列。下一個任務是驗證是否已接收到測試消息。
使用 WebSphere MQ 資源管理器來驗證是否已發送測試消息
在接收機器(主管隊列管理器 QM_APPLE 的機器)上執行此任務。
在接收隊列管理器上:
- 在導航器視圖中,展開隊列管理器 QM_APPLE。
- 單擊隊列文件夾。
- 在內容視圖中,右鍵單擊隊列 Q1,然后單擊瀏覽消息...。 此時會打開消息瀏覽器,顯示當前 Q1 上的消息列表。
- 雙擊列表中的最后一條消息以查看其屬性對話框。
在屬性對話框的數據頁上,消息數據字段以人類可讀的格式顯示了消息的內容。
您在接收機器(主管隊列管理器 QM_APPLE 的機器)上執行此任務。使用 amqsget樣本程序來從隊列中取回消息。
打開命令提示符,然后按照以下步驟操作:
啟動 amqsget樣本程序,如下所示:
- 在 Linux®上,切換到 /opt/mqm/samp/bin 目錄,然后輸入命令:./amqsget Q1
- 在 Windows®上,輸入命令:amqsget Q1
此時會啟動該樣本程序,並顯示您的消息以及此隊列上的任何其他消息。在短暫停留后,樣本程序結束,並再次顯示命令提示符。
恭喜!您現在已經完成了本教程。
如果文章對你用,請支持萬事如意網址導航。
再分享一下我老師大神的人工智能教程吧。零基礎!通俗易懂!風趣幽默!還帶黃段子!希望你也加入到我們人工智能的隊伍中來!https://blog.csdn.net/jiangjunshow