当前位置:文档之家› MQ命令

MQ命令

1. 创建队列管理器 crtmqm -q QMA
crtmqm -q QMA
(-q表示QMA为默认队列管理器)

2. 启动队列管理器 strmqm QMA
strmqm QMA
(对于默认队列管理器,则为strmqm )

3. 启动管理器平台 runmqsc QMA
runmqsc QMA

4. 定义本地队列 define qlocal(queueA) defpsist replace
define qlocal(queueA)
若用于队列管理器之间进行通信,这应为 define qlocal(queue1) usage(xmitq)

5. 定义远程队列
define qremote(queue.remote) rname(apple.queue) rqmname('queueB') xmitq(queue1)
(apple.queue为远程队列管理器queueB中的本地队列)

6. 定义发送端通道
define channel(queueA.queueB) chltype(sdr) conname('192.168.1.90(1414)') xmitq(queueA) trptype(tcp)

7. 定义接受方通道
define channel(queueA.queueB) chltype(rcvr) trptype(tcp)

8. 更改侦听端端口号
alter listener(system.default.listener.tcp) trptype(tcp) port(1415)

9. 启动侦听
start listener(system.default.listener.tcp)
在命令行 c:\runmqlsr

10. 列出侦听状态
display lsstatus(*)

11. 测试, 向队列中放入消息
amqsput queue_name queue_manager_name
从队列中取出消息
amqsget queue_name queue_manager_name

12. 在服务器方建立用于客户方链接的通道
define channel(channel2) chltype(svrconn) trptype(tcp) mcauser(' ')

13. 在客户机方,使用MQSERVER定义客户机链接通道(如使用了Active Directory 服务支持,则可略过本步骤)

SET MQSERVER=CHANNEL1/TCP/192.168.1.90(1414) //Windows
export MQSERVER=’CHANNEL1/TCP/server-hostname(port)’ //linux

15.测试, 向队列中放入消息
amqsputc queue_name queue_manager_name
从队列中取出消息
amqsgetc queue_name queue_manager_name

16. 关闭队列管理器
endmqm mqm_name
endmqm -i mqm_name

17. 结束所有侦听进程
endmqlsr -m mqm_name

18. 查看WebSphere MQ版本号
dspmqver

19. 查看已有的MQ管理器
dspmq

20. 启动WebSphere MQ Explorer
strmqcfg


runmqsc QM_BK_01

DIS QS(REQ*)

1,创建队列管理器
# crtmqm -q HQ_SVR(-q表示建立默认管理器)
2,启动队列管理器
# strmqm HQ_SVR
3,用户交互管理界面程序 runmqsc,用end退出交互模式
# runmqsc HQ_SVR
4,放入测试消息命令
# amqsput HQ_QUEUE HQ_SVR (将消息逐行放入队列,每行代表一条消息,直到输入空行结束)
5,删除队列管理器
# dltmqm –z HQ_SVR (删除队列管理器 -z表示抑止命令执行时发出信息)
6,停止队列管理器
# endmqm HQ_SVR (参数 –c 即等到所有连接都断开后才停止,-i 立即停止,-p 强迫停止)
7, 显示队列管理器
# dspmq
8,启动监听器
# runmqlsr –t tcp –p 1414 –m HQ_SVR &
9,停止监听
# endmqlsr –m HQ_SVR
10,下面条命令是在windows系统上执行

amqmdain qmgr start HQ_SVR//启动队列管理器 (windows下执行)

amqmdain auto HQ_SVR//将队列管理器服务设置为自动启动

(windows下执行)

二,MQ的命令服务器:
所谓MQ命令服务器,是指为用户提供远程管理服务,首先确定远程服务器上有没有(https://www.doczj.com/doc/a015681580.html,MAND.QUEUE)这个队列,然后创建通道(SYSTEM.ADMIN.SVRCONN)命令如下:
DEFINE CHANNEL (SYSTEM.ADMIN.SVRCONN) CHLTYPE(SVRCONN) TRPTYPE(TCP) MCAUSER('mqm') REPLACE

1, 启动命令服务器
# strmqcsv HQ_SVR
2,停止命令管理器
# endmqcsv HQ_SVR
3,显示命令服务器
# dspmqcsv HQ_SVR

三,runmqsc命令详解

//创建本地队列Q
DEFINE QLOCAL (Q)
//将本地队列Q 的最大深度设置为5
ALTER QLOCAL (Q) MAXDEPTH(5)
//重新创建本地队列Q 如果Q已经存在,则将其全部属性重置为缺省属性
DEFINE QLOCAL (Q) REPLACE
//删除本地队列Q
DELETE QLOCAL (Q)
//创建远程队列
DEFINE QREMOTE(QRNAME) RNAME(AAA) RQMNAME(QMGRNAME) XMITQ(QTNAME)
//创建传输队列
define qlocal (CLV_HQ_TRAN) usage (xmitq) INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(REV_CLV) TRIGTYPE(EVERY) TRIGGER REPLACE
//创建接收端通道C
DEFINE CHANNEL (C) CHLTYPE(RCVR)
//创建发送方通道C ,连接对方的IP为10.10.10.10 端口为1414 通道连接的传输队列为XQ
DEFINE CHANNEL (C) CHLTYPE(SDR) CONNAME(’ 10.10.10.10 (1414)’) XMITQ(XQ)
//创建请求方通道
DEFINE CHANNEL (D) CHLTYPE(RQSTR) CONNAME(’ 10.10.10.10 (1414)’)
//创建服务器通道
DEFINE CHANNEL (D) CHLTYPE (SVR) xmitq (XQ1)
//创建服务器连接通道
DEFINE CHANNEL(E) CHLTYPE (SVRCONN) REPLACE

//显示所有的本地队列
Display qlocal (*)
//显示所有远程对了
display qremote (*)
//显示所有通道
Display channel (*)


定义死信队列
DEFINE QLOCAL(QUEUE) DEFPSIST (YES) REPLACE


ALTER QMGR DEADQ (QUEUE)
设定队列管理器的死信队列


四,队列管理命令
1, amqsput 从server端将消息放入队列
2, amqsputc 从client 端将消息放入队列
3, amqsget 从server端将消息从队列中取出
4, amqsgetc 从client端将消息从队列中取出
5, amqsbcg 从server端查看消息
6, amqsbcgc 从client端查看消息

说明: amqsput 和amqsputc可以将消息放入队列中,程序把之后的每一行标准输入作为一条独立的消息,读到eof或空行时退出,注意:unix上eof是ctrl+d ,windows上eof是ctrl+z

amqsget和 amqsgetc可以将消息从队列中全部读出并显示,执行完后队列深度应该为0,如果强行中断该程序,比如用ctrl+C 强行退出。

amqsbcg 和 amqsbcgc 可以详细查阅队列中现有的消息属性及内容而不将其取出,执行完后队列深度不变


amqsget命令格式: amqsget 队列名 队列管理器名 如:
amqsget HQ_QUEUE HQ_SVR

五,设置置MaxChannels和MaxActiveChannels属性(最大连接数)

MaxChannels和MaxActiveChannels分别代表队列管理器允许配置的通道的

最大个数和允许同时运行的通道的个数,MaxChannels的缺省值是100,MaxActiveChannels的缺省值与MaxChannels相同。如果您的并发通道连接个数超过了100,您需要修改这两个参数。这对于大并发的Client/Server间通讯尤为重要。

在unix平台,修改qm.ini文件,添加如下所示(路径:/var/mqm/qmgrs/HQ_SVR):

Channels:
MaxChannels = 3000 (最大通道数)
MaxActiveChannels = 3000 (最大活动通道数)
PipeLineLength=2
AdoptNewMCA=ALL
然后重启MQ

$ /usr/mqm/inc
$ grep 2085 *
CMQV: 10 MQCA-TPIPE-NAME PIC S9(9) BINARY VALUE 2085.
CMQV: 10 MQRC-UNKNOWN-OBJECT-NAME PIC S9(9) BINARY VALUE 2085.
cmqc.h: #define MQCA_TPIPE_NAME 2085
cmqc.h: #define MQRC_UNKNOWN_OBJECT_NAME 2085




相关主题
文本预览
相关文档 最新文档