IBM之MQ使用指南



随着计算机网络和分布式应用的不断发展。远程消息传递越来越成为应用系统中必不可少的组成部分。

商业消息中间件的出现保证了消息传输的可靠性,高效率和安全性,同一时候也降低了系统的开发周期。

眼下应用最多的消息中间件产品为IBM MQSeries。 东风生管系统就是通过MQ 通讯的。

本文就针对MQ的基本操作与配置进行具体的阐述,希望对读者有所帮助。 
一.MQ基本操作 
MQ中有几个非常重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其主要的操作方法例如以下: 
创建队列管理器 

crtmqm –q QMgrName 
-q是指创建缺省的队列管理器 
删除队列管理器 
dltmqm QmgrName 
启动队列管理器 
strmqm QmgrName 
假设是启动默认的队列管理器,能够不带其名字 
停止队列管理器 
endmqm QmgrName 受控停止 
endmqm –i QmgrName 马上停止 
endmqm –p QmgrName 强制停止 
显示队列管理器 

dspmq –m QmgrName 
执行MQSeries命令 

runmqsc QmgrName 

假设是默认队列管理器,能够不带其名字 
往队列中放消息 

amqsput QName QmgrName 

假设队列是默认队列管理器中的队列。能够不带其队列管理器的名字 
从队列中取出消息 

amqsget QName QmgrName 

假设队列是默认队列管理器中的队列,能够不带其队列管理器的名字 
启动通道 

runmqchl –c ChlName –m QmgrName 
启动侦听 

runmqlsr –t TYPE –p PORT –m QMgrName 
停止侦听 

endmqlsr -m QmgrName 
MQSeries命令 
定义死信队列 

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 
创建进程定义 

DEFINE PROCESS(PRONAME) + 

DESCR(‘STRING’)+ 

APPLTYPE(WINDOWSNT)+ 

APPLICID(’ runmqchl -c SDR_TEST -m QM_ TEST’) 

当中APPLTYPE的值能够是:CICS、UNIX、WINDOWS、WINDOWSNT等 
创建发送方通道 

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 
创建server连接通道 

DEFINE CHANNEL(SVRCONNNAME) CHLTYPE(SVRCONN) REPLACE 
显示队列的全部属性 

DISPLAY QUEUE(QNAME) [ALL] 
显示队列的所选属性 

DISPLAY QUEUE(QNAME) DESCR GET PUT 

DISPLAY QUEUE(QNAME)MAXDEPTH CURDEPTH 
显示队列管理器的全部属性 

DISPLAY QMGR [ALL] 
显示进程定义 

DISPLAY PROCESS(PRONAME) 
更改属性 

ALTER QMGR DESCR(‘NEW DESCRIPTION’) 

ALTER QLOCAL(QNAME) PUT(DISABLED) 

ALTER QALIAS(QNAME) TARGQ(TARGQNAME) 
删除队列 

DELETE QLOCAL(QNAME) 

DELETE QREMOTE(QRNAME) 
清除队列中的全部消息 

CLEAR QLOCAL(QNAME) 
posted @ 2016-01-19 20:00  phlsheji  阅读(2884)  评论(0编辑  收藏  举报