IBM Websphere MQ _01 基本操作

MQ的配置操作:

安裝完MQ,程序本身會把/opt/mqm/bin/目錄下面的一些程序鏈接到/usr/bin/下面,例如crtmqm,runmqsc等等,這些命令只有安裝了服務端纔有。

1:  創建隊列管理器 

           crtmqm –q QMgrName
           -q是指創建缺省的隊列管理器 。

    

 2:  刪除隊列管理器
           dltmqm QMgrName

    

 3:  啓動隊列管理器
          strmqm QmgrName 
          如果是啓動默認的隊列管理器,可以不帶其名字

    

 4: 停止隊列管理器
         endmqm QmgrName 受控停止
         endmqm –i QmgrName 立即停止
         endmqm –p QmgrName 強制停止

   

 5:  顯示隊列管理器
          dspmq –m QmgrName
          如果輸入dspmq,那麼顯示的是默認的隊列管理器。
 
     

6:運行MQSeries命令
           runmqsc QmgrName
          如果是默認隊列管理器,可以不帶其名字
 
     

7:往隊列中放消息
          amqsput QName QmgrName
          如果隊列是默認隊列管理器中的隊列,可以不帶其隊列管理器的名字 
          從隊列中取出消息
          amqsget QName QmgrName 
          如果隊列是默認隊列管理器中的隊列,可以不帶其隊列管理器的名字

     

8:啓動通道
          runmqchl –c ChlName –mQmgrName
          啓動偵聽
          runmqlsr –t TYPE –p PORT–m QMgrName
          停止偵聽
          endmqlsr -m QmgrName

    

 9:定義死信隊列
         DEFINE QLOCAL(QNAME) DEFPSIST(YES) REPLACE
         設定隊列管理器的死信隊列
         ALTER QMGR DEADQ(QNAME)
         定義本地隊列
         DEFINE QL(QNAME) REPLACE
         定義別名隊列
         DEFINE QALIAS(QALIASNAME)TARGQ(QNAME)
         遠程隊列定義 
         DEFINE QREMOTE(QRNAME) + RNAME(AAA) RQMNAME(QMGRNAME) + XMITQ(QTNAME)
 
         定義模型隊列
         DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
 
         定義本地傳輸隊列 
         DEFINE QLOCAL(QTNAME)USAGE(XMITQ) DEFPSIST(YES) +
         INITQ(SYSTEM.CHANNEL.INITQ)+
         PROCESS(PROCESSNAME)REPLACE 

 
    

10:創建發送方通道
         DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR)+
         CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE
         其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR和CLUSRCVR。
 
         創建接收方通道
         DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR)REPLACE 
 
         創建服務器連接通道 
         DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE
 
         顯示隊列的所有屬性
         DISPLAY QUEUE(QNAME) [ALL]
 
         顯示隊列的所選屬性
         DISPLAY QUEUE(QNAME) DESCR GETPUT
         DISPLAY QUEUE(QNAME)MAXDEPTHCURDEPTH
 
         顯示隊列管理器的所有屬性
         DISPLAY QMGR [ALL]
 
         顯示進程定義
         DISPLAY PROCESS(PRONAME)
 
         更改屬性 
         ALTER QMGR DESCR(‘NEWDESCRIPTION’)
         ALTER QLOCAL(QNAME) PUT(DISABLED)
         ALTER QALIAS(QNAME) TARGQ(TARGQNAME)
 
        刪除隊列
        DELETE QLOCAL(QNAME) 
        DELETE QREMOTE(QRNAME)
 
        清除隊列中的所有消息
        CLEAR QLOCAL(QNAME)
        以上就是基本的操作,對於更深入的東西,只能慢慢研究了,先寫到這!


 

創建配置隊列管理器

對於我等小白,當然希望在自己的Windows筆記本上管理服務器上的隊列,接下來示範創建一個可以使用MQ Explorer管理的隊列。

1) 執行su - mqm,切換到mqm用戶

2) 執行source /opt/mqm/bin/setmqenv -s,加載執行mq命令的環境

3) 執行crtmqm -u SYSTEM.DEAD.LETTER.QUEUE QM_TEST,創建一個帶死信隊列的隊列管理器。QM_TEST是隊列管理器的名稱,可以根據需要起不同的名稱

4) 執行strmqm QM_TEST,啓動隊列管理器

5) 執行runmqsc QM_TEST,啓動MQ管理工具

6) 在管理工具內執行以下命令,創建監聽器

define listener(TCP.LISTENER) trptype(tcp)control(qmgr) port(1414)

start listener(TCP.LISTENER)

7) 在管理工具內執行以下命令,創建遠程MQ Explorer使用的通道

define channel(SYSTEM.ADMIN.SVRCONN) chltype(SVRCONN)REPLACE

8) 在管理工具內執行以下命令,放行遠程的管理連接

set CHLAUTH(*) TYPE(BLOCKUSER)USERLIST('nobody','*MQADMIN')

set CHLAUTH(SYSTEM.ADMIN.*) TYPE(BLOCKUSER)USERLIST('nobody')

使用連接隊列

1) 使用MQ的Windows介質安裝MQExplorer,並啓動

2) 左側菜單中在Queue Managers右鍵,選擇Add Remote QueueManager...

3) Queue Manger Name中填寫遠程對列管理器的名稱,此處爲QM_TEST。在後續的配置頁面中輸入隊列管理器所在服務器的ip,用戶名爲mqm(無密碼)

4) 如果連接時MQ Explorer顯示異常AMQ4059 Reason Code 2538,可能是防火牆阻礙了訪問,可以在Linux服務器上執行iptables -F 以後再試試


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章