天天看點

IBM WebSphere MQ 7.5基本用法

一、下載下傳7.5 Trial版本

<a href="http://www.ibm.com/developerworks/downloads/ws/wmq/">http://www.ibm.com/developerworks/downloads/ws/wmq/</a>

這是下載下傳網址,下載下傳前先必須注冊IBM ID,下載下傳完成後一路Next即可(注:windows上安裝時,會詢問是否域環境,初次學習時,為簡單起見,建議選擇No)

安裝完成後,MQ的Bin目錄會自動添加到環境變量Path中,以後就可以直接用Dos指令行視窗操作(當然,也可以用圖形化GUI方式通過IBM WebSphere MQ Explorer來管理)

注:安裝時,強烈建議用管理者Administrator身份安裝,否則安裝完成後,有可能license無法生效、runmqsc指令模式下無法正常執行指令.

二、建立隊列管理器

WIN + R鍵,輸入cmd,進入指令行視窗,鍵入:

crtmqm QM_TEST

建立一個隊列管理器QM_TEST(你可以改成自己想要的名字),如果把整個MQ了解成一個資料庫執行個體,QM_TEST相當于就是db instance中的schema(或user)

指令行建立的隊列管理器預設是不活動狀态的,可以用

strmqm QM_TEST

來啟動隊列管理器

三、建立隊列

如果說“隊列管理器”是db中的schema,那麼"隊列"就相當于db中的Table了,而隊列中的每條"消息",就相當于Table中的每條記錄,繼續在指令行視窗模式下,輸入

runmqsc QM_TEST

将進入MQ的互動指令模式,繼續輸入

define qlocal(Q1)

将建立一個本地隊列Q1(你可以改成自己需要的名字),如果此時你打開 "開始菜單-&gt;程式-&gt;IBM WebSphere MQ-&gt;WebSphere MQ Explorer (Installation1)"也能同步在圖形界面下,看到這個隊列

最後鍵入end,退出MQ的互動指令模式。

四、發送消息

繼續在Windows指令模式下,輸入

amqsput Q1 QM_TEST

這裡系統将處于等待使用者輸入的狀态,随便輸入一些消息,然後連敲二次回車,完成消息發送

五、接收消息

amqsget Q1 QM_TEST

把剛才的put換成了get,将從隊列管理器QM_TEST的隊列Q1中,把消息取出來

六、進階指南

熟悉以上指令行操作後,還可以用圖形化的操作方式再強化一遍(建議還是多用指令行模式,因為有些操作隻能用指令行完成,比如後面要提到的修改隊列管理器編碼)

WebSphere MQ Explorer中,從"幫助"菜單裡調出幫助文檔,裡面有一個不錯的教程,強烈推薦新手看一遍

IBM WebSphere MQ 7.5基本用法

不過,"教程2:将消息發送至遠端隊列"這裡,幫助文檔上有幾個細節沒講透,導緻初次用指令行照着做,可能會不成功,幾個要點如下:

1、通道命名問題

發送方與接收方的通道名稱,必須一樣,這樣二邊才能對應起來

2、接收方必須要有偵聽器,而且要處于激活狀态

3、發送方的發送通道中,連接配接名稱格式為:"&lt;接收方HostName或IP位址&gt;(接收方-隊列管理器-偵聽器的TCP端口) ,不包括"&lt;&gt;“,比如比如:yangjm(1514)或172.12.134.14(1514)

4、發送方的發送通道必須處于激活狀态,如果通道啟動失敗,嘗試右鍵-&gt;ping/複位,如果還不行,檢查上述要點1-3是否設定有問題

七、遠端連接配接問題

解決方式:

1. 更換目前使用者,建一個mqm使用者組(MQ安裝後,會預設建立該Windows使用者組)的使用者,然後以該使用者身份登入操作

2.參考IBM上的解釋,如果出于學習目的,最簡單的做法,就是在runmqsc互動模式下,鍵入

ALTER QMGR CHLAUTH(DISABLED)  直接關閉通道認證(生産環境不推薦這麼做)

另外,要想本機上的隊列能被遠端管理,前提是該隊列管理器允許遠端管理,操作方式:隊列管理器上右擊-&gt;選擇"遠端管理...",接下來的事情大家都知道

八、字元集編碼問題

每個隊列管理器,都有一個CCSID的屬性,對應的就是字元集編碼,在windows系統中,這個編碼應該是1381,如果你是用其它OS(比如linux)的配置通過腳本導入MQ的,可能編碼就不是1381了,這會導緻在windows上無法連接配接\啟動隊列管理器,可以通過MQ互動指令行修改,

runmqsc QM_TEST 進入QM_TEST的MQ互動模式

DISPLAY QMGR CCSID 檢視目前的CCSID屬性

ALTER QMGR CCSID(1381) 修改字元集編碼為1381

九、如何從“試用版”更新成“正式版”

試用版預設隻能用90天,到期後,如果購買了正式版的license,可以通過指令行導入license,指令如下:

setmqprd x:\license\amqpcert.lic

注:amqpcert.lic中的P即代表這是Product生産版本,setmqprd 後面的路徑即為license檔案的所在路徑

十、java連接配接示例代碼 

IBM WebSphere MQ 7.5基本用法
IBM WebSphere MQ 7.5基本用法

View Code

 需要引用的jar包(在MQ的安裝目錄下都有)

IBM WebSphere MQ 7.5基本用法

 十一、機器之間遷移

如果要在多台機器上配置相同的隊列管理器,一台台機器去建立、設定十分繁瑣,可以用指令

dmpmqcfg -m QM_TEST -A &gt; C:\SCRIPT\QM_TEST_SCRIPT.DUMP

注:其中QM_TEST即為要導出的隊列管理器名稱,而 "QM_TEST_SCRIPT.DUMP"是導出腳本的檔案名,可以随便修改,執行完後會在"C:\SCRIPT\"下生成一個“.dump”的腳本檔案,這裡我們借用了管道操作符号"&gt;"

在另一台機器上,先把dump檔案複制過去(比如就放在c盤根目錄下),然後按下列步驟執行

runmqsc QM_TEST &lt; C:\QM_TEST_SCRIPT.DUMP &gt; C:\QM_TEST_SCRIPT.OUT

這表示runmqsc指令将對 QM_TEST操作,操作的指令來源于腳本檔案 C:\QM_TEST_SCRIPT.DUMP,而執行結果會輸出到 C:\QM_TEST_SCRIPT.OUT

繼續閱讀