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 以後再試試