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 以后再试试