MQ常用命令
mq命令

QDEPTHHI(80) QDEPTHLO(20)
QDPMAXEV(ENABLED) QDPHIEV(DISABLED)
XMITQ(QT_NT)
创建发送方通道,其传输队列为QT_NT,远程主机地址为10.10.10.2,侦听端口为1414
DEFINE CHANNEL(SDR_NT) CHLTYPE(SDR)+
CONNAME(‘10.10.10.2(1414)’) XMITQ(QT_NT) REPLACE
如果队列是默认队列管理器中的队列,可以不带其队列管理器的名字
启动通道
runmqchl –c ChlName –m QmgrName
启动侦听
runmqlsr –t TYPE –p PORT –m QMgrName
停止侦听
endmqlsr -m QmgrName
MQSeries命令
8.退出命令行使用 end 命令。
一.MQ基本操作
MQ中有几个很重要的组件:队列管理器(QueueManager)、队列(Queue)和通道(Channel)。其基本的操作方法如下:
创建队列管理器
crtmqm –q QMgrName
-q是指创建缺省的队列管理器
删除队列管理器
远程队列定义
DEFINE QREMOTE(QRNAME) +
RNAME(AAA) RQMNAME(QMGRNAME) +
XMITQ(QTNAME)
定义模型队列
DEFINE QMODEL(QNAME) DEFTYPE(TEMPDYN)
定义本地传输队列
MQ通道的维护及常用命令

M Q通道的维护及常用命令Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-199986.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。
?图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。
通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
?注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or 或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
下面将详细地介绍通道有关的维护命令。
创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。
这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。
可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。
创建通道的例子PE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
MQ通道的维护及常用命令精选文档

M Q通道的维护及常用命令精选文档TTMS system office room 【TTMS16H-TTMS2A-TTMS8Q8-6.3.1通道的状态下图显示了所有可能的通道状态层次结构,在 MQ for AIX, iSeries, HP-UX, , Solaris, 和 systems, 和 WebSphere MQ for OS/2 Warp平台,这些状态对连接通道也适用。
图,通道状态如果通道的状态分为inactive和current两大类;“current”可以是Stopped,Starting,Retrying和Active的情况。
通道Acitve的情况又可分为Initializing,Binding,Requesting,Running,Paused或Stopping的状态。
下图显示通道状态之间的变化关系。
注意:1. 当通道处于INITIALIZING, BINDING, REQUESTING, RUNNING, PAUSED, or或STOPPING状态时,这将消耗系统,并且通道的进程或线程正在运行;因为通道是Active状态。
2. 当通道是STOPPED状态时, 会话可能是active,因为下一个状态时未知的。
通道维护命令下面将详细地介绍通道有关的维护命令。
创建通道为创建一个新通道,您需要创建两个通道定义,在通信的双方各定义一个。
这两个通道的名字必须时相同的,而且两端的通道类型必须匹配,例如:发送和接收。
可以使用MQSC命令“DEFINE CHANNEL”来创建通道,在命令中需要指定通道名,通道类型,连接名,通道描述(可选),传输队列名(可选)和传输协议,等还有许多可选的属性可以设置。
注意:建议在WebSphere MQ的网络中所有的通道名唯一,并且通道名中最好包含了源队列器名和目标队列管理器名。
创建通道的例子DEFINE CHANNEL CHLTYPE(SDR) +DESCR(’Sender channel to QM2’) +CONNAME(QM2) TRPTYPE(TCP) XMITQ(QM2) CONVERT(YES)I修改通道可以使用 MQSC命令“ALTER CHANNEL”来修改现有通道定义,但是通道名和通道类型不能修改。
MQ常用命令

QUEUE(QMB)
TYPE(QLOCAL)
ACCTQ(QMGR)
ALTDATE(2009-02-06)
ALTTIME(11.41.44)
BOQNAME( )
BOTHRESH(0) CLUSTER( )
CLUSNL( ) CLWLPRTY(0)
CLWLRANK(0)
CLWLUSEQ(QMGR)
CRDATE(2008-12-05)
1.查看所有队列管理器 dspmq
查看所有的通道
dis chl(name)/dis chl(*)/dis chl(*) all/dis channel(name)
查看通道状态
dis chs(name)/dis chs(*)/dis chs(*) all
查看队列
display queue(name)
查看队列管理器信息(包括 CCSID 等信息) dis qmgr
种方法。 需要注意的时,当 DEPTH 属性值为0的时候,实际上就形成了同步通信。另外,当采用 Depth 触发时,产生触发消息以后,队列将被修改为非触发方式,如果需要再次触发,需要重新设 置成允许触发。
一般而言,在实际应用中,如果通道设置成触发方式,触发类型往往设置成为 FIRST 和
DEPTH。
6.修改 ccsid
alter qmgr ccsid(“XXX”)
一、MQ 的启动与停止
用 root 用户启/停需要 root 用户包含在 mqm 组中。
1、MQ 的启动 strmqm QMgrName 如果启动默认队列管理器,strmqm 后可以忽略队列管理器名称。 在意外情况停止队列管理器后,启动可能会失败,此时可以检查上次停止后是否有 IPC 资 源未释放,若有请予以删除,删除方法参考下面的“C.清理所有残留在系统内部的信号灯和 共享内存”。
mq操作命令

1. 启动命令行QMEMBFE是QM名字runmqsc QMEMBFE (进入MQ的命令行)显示队列DISPLAY QUEUE(*)显示通道DISPLAY CHANNEL(*)显示侦听器DISPLAY LISTENER(*)SDR发送方通道,RCVR接收方通道2. 创建MQMcrtmqm -lf 16384 -lp 10 -ls 10 QMEMBFE3. 启动MQMstrmqm QMEMBFE3.1删除MQMDltmqm QMEMBFEStart chl(通道名) 启动通道4. 运行脚本runmqsc QMEMBFE < mbfemq.sc5. 确定测试商业银行所对应接入点的通道状态是否为running#runmqsc QMEMBFEdis chs(5012900001.GW2900)dis chs(GW2900.5012900001)dis chstatus(ChannelName) 查看通道状态dis chs(5012900001.GW2900)1 : dis chs(5012900001.GW2900)AMQ8420: 通道状态未找到。
dis chs(GW2900.5012900001)2 : dis chs(GW2900.5012900001)AMQ8417: 显示通道状态细节。
CHANNEL(GW2900.5012900001) CHLTYPE(RCVR)CONNAME(172.26.190.4) CURRENTRQMNAME(QME2900) STATUS(RUNNING) SUBSTATE(RECEIVE) XMITQ( )172.26.190.4 14181. 创建队列管理器crtmqm -q QMA(-q表示QMA为默认队列管理器)2. 启动队列管理器strmqm QMA(对于默认队列管理器,则为strmqm )Q 3. 启动管理器平台runmqsc QMA4. 定义本地队列define qlocal(queueA)若用于队列管理器之间进行通信,这应为define qlocal(queue1) usage(xmitq)5. 定义远程队列define qremote(queue.remote) rname(.queue)rqmname(queueB)xmitq(queue1)(.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:\runmqlsr10. 列出侦听状态display lsstatus(*)11. 测试,向队列中放入消息amqsput queue_name queue_manager_name从队列中取出消息amqsget queue_name queue_manager_name12. 在服务器方建立用于客户方链接的通道define channel(channel2) chltype(svrconn) trptype(tcp)mcauser()13. 在客户机方,使用MQSERVER定义客户机链接通道(如使用了ActiveDirectory服务支持,则可略过本步骤)SET MQSERVER=CHANNEL1/TCP/192.168.1.90(1414) //Windowsexport MQSERVER=’CHANNEL1/TCP/server-hostname(port)’//linux15. 测试,向队列中放入消息amqsputc queue_name queue_manager_name从队列中取出消息amqsgetc queue_name queue_manager_name16. 关闭队列管理器endmqm mqm_nameendmqm -i mqm_name17. 结束所有侦听进程endmqlsr -m mqm_name18. 查看WebSphere MQ版本号dspmqver19. 查看已有的MQ管理器dspmq20. 启动WebSphere MQ Explorerstrmqcfg21.查看通道的消息序列DIS CHS(CHANNEL_NAME) CURSEQNO;。
IBMMQ常用命令

IBMMQ常用命令IBM MQ是一款广泛应用于企业级应用程序开发和数据传输的消息队列软件。
该软件具有出色的可扩展性和稳定性,可满足不同规模和需求的企业应用场景。
为了更好地管理和操作IBM MQ,下面将介绍IBMMQ常用命令。
1. crtmqm命令crtmqm命令是创建IBM MQ队列管理器的命令。
例如,要创建一个名为QMGR1的队列管理器,我们可以使用以下命令:crtmqm QMGR12. strmqm命令strmqm命令是启动IBM MQ队列管理器的命令。
例如,要启动名为QMGR1的队列管理器,我们可以使用以下命令:strmqm QMGR13. endmqm命令endmqm命令是停止IBM MQ队列管理器的命令。
例如,要停止名为QMGR1的队列管理器,我们可以使用以下命令:endmqm QMGR14. runmqsc命令runmqsc命令是启动IBM MQ命令行管理工具的命令。
我们可以在命令行模式下使用该命令来执行各种MQ管理任务。
例如,要启动runmqsc,我们可以使用以下命令:runmqsc QMGR15. crtmqobj命令crtmqobj命令是创建IBM MQ队列和通道的命令。
例如,要创建一个名为MYQUEUE的本地队列,我们可以使用以下命令:crtmqobj QMGR1 QLOCAL(MYQUEUE)6. dltmqobj命令dltmqobj命令是删除IBM MQ队列和通道的命令。
例如,要删除名为MYQUEUE的本地队列,我们可以使用以下命令:dltmqobj QMGR1 QLOCAL(MYQUEUE)7. display命令display命令是显示IBM MQ队列管理器、队列和其他对象的信息的命令。
例如,要显示名为QMGR1的队列管理器的配置信息,我们可以使用以下命令:display qmgr QMGR18. Inquire命令Inquire命令是查询IBM MQ队列管理器、队列和其他对象的信息的命令。
MQ常用命令

查看死信队列:dis qlocal(DEADQ)
查看本地队列:dis qlocal(*)
查看本地队列深度: display ql(xxx) curdepth
查看远程队列深度:display qr(xxx) curdepth
查看ccsid: display qmgr all
更改监听: alter listener(xxxx) TRPTYPE(TCP) PORT(1417) CONTROL(QMGR)
停止监听: end LISTENER(xxxx)
查看通道当前序列号: dis chs(xxxx) curseqno
查看通道所有状态: dis chs(xxxxx) all
查看通道: dis chl(xxx)
查看所有通道 dis chl(*) 或 dis chs(*或 dis lsstatu(listentName)
查看本地队列:dis qlocal(xxxxx) 查看其中的 CURDEPTH(0),若其>0,则说明本地队列堵塞
显示所有远程队列: display qremote(*)
显示所有通道: display channel(*)
ping通道:ping CHANNEL(xxxx)
清空队列内容:clear Qlocal(Qname)(需运行 runmqsc)
删除队列:delete qlocal(Qname)
以下为MQ常用命令:
查看发送通道:display channel(xxx)
查看队列管理器: dspmq
停止队列管理器:endmqm QMEMBFE
删除队列管理器:dltmqm QMEMBFE
重置发送通道:reset channel(xxxx)
RocketMQ常用命令

RocketMQ常⽤命令在bin⽬录下的mqadmin命令,可以进⾏创建、修改topic,更新broker的配置信息,查询特定消息等各种操作。
1. 创建Topic指令 :updateTopic⽤法:sh mqadmin updateTopic -n 192.168.1.100:9876参数是否必填说明-b如果-c为空,则必填broker 地址,表⽰topic 建在该broker-c如果-b为空,则必填cluster 名称,表⽰topic 建在该集群(集群可通过clusterList 查询)-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...-p否指定新topic 的权限限制( W|R|WR ) -r 否可读队列数(默认为8)-w否可写队列数(默认为8)-t是opic 名称(名称只能使⽤字符 ^[a-zA-Z0-9_-]+$ )2. 删除Topic指令 :deleteTopic参数是否必填说明-c是cluster 名称,表⽰删除某集群下的某个topic (集群可通过clusterList 查询)-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;…-t是topic 名称(名称只能使⽤字符 ^[a-zA-Z0-9_-]+$ )3. 创建(修订)订阅组指令 :updateSubGroup参数是否必填说明-b如果 –c 为空,则必填broker 地址,表⽰订阅组建在该broker-c如果 –b 为空,则必填cluster名称,表⽰topic 建在该集群(集群可通过clusterList查询)-d否是否容许⼴播⽅式消费-g是订阅组名-i否从哪个broker 开始消费-m否是否容许从队列的最⼩位置开始消费,默认会设置为false-q否消费失败的消息放到⼀个重试队列,每个订阅组配置⼏个重试队列-r 否重试消费最⼤次数,超过则投递到死信队列,不再投递,并报警-s否消费功能是否开启-w 否发现消息堆积后,将Consumer 的消费请求重定向到另外⼀台Slave 机器-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...4. 删除订阅组配置指令: deleteSubGroup参数是否必填说明-b 如果–c 为空,则必填broker 地址,表⽰订阅组建在该broker-c 如果–b 为空,则必填cluster 名称,表⽰topic建在该集群(集群可通过clusterList查询)-g是订阅组名-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...5. 更新Broker 配置⽂件指令 :updateBrokerConfig参数是否必填说明-b 如果–c为空,则必填broker 地址,表⽰订阅组建在该broker-c 如果–b 为空,则必填cluster名称,表⽰topic 建在该集群(集群可通过clusterList查询)-k 是 key 值-v否value 值-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...6. 查看Topic 列表信息指令 :topicList参数是否必填说明-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...7. 查看Topic 路由信息指令 :topicRoute参数是否必填说明-t是topic 名称-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...8. 查看Topic 统计信息指令 :topicStats参数是否必填说明-t是topic 名称-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...9. 查看Broker 统计信息指令 :brokerStats参数是否必填说明-b是 broker 地址-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...10. 根据消息ID 查询消息指令 :queryMsgById参数是否必填说明-i是消息id-h否打印帮助-n 是nameserve 服务地址列表,格式ip:port;ip:port;...11. 根据消息Key 查询消息指令 :queryMsgByKey参数是否必填说明-f否被查询消息的截⽌时间-k是msgKey-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...12. 根据Offset 查询消息指令 :queryMsgByOffset参数是否必填说明-b 是Broker 名称,表⽰订阅组建在该broker(这⾥需要注意填写的是broker 的名称,不是broker 的地址,broker名称可以在clusterList 查到-i是query 队列id-o是offset 值-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...13. 查询Producer 的⽹络连接该命令只打印当前与cluster 连接的producer ⽹络连接信息指令 :producerConnection参数是否必填说明-g是⽣产者所属组名-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...14. 查询Consumer 的⽹络连接该命令只打印当前与cluster 连接的consumer ⽹络连接信息指令 :consumerConnection参数是否必填说明-g是消费者所属组名-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...15. 查看订阅组消费状态指令 :consumerProgress参数是否必填说明-g是消费者所属组名-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...16. 查看集群消息指令 :clusterList参数是否必填说明-m否打印更多信息-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...17. 添加(更新)KV 配置信息指令 :updateKvConfig参数是否必填说明-k是key 值-v是value 值-s是Namespace 值-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...18. 删除KV 配置信息指令 :deleteKvConfig参数是否必填说明-k是key 值-s是Namespace 值-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...19. 添加(更新)Project group 配置信息指令 :updateProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...20. 删除Project group 配置信息指令 :deleteProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...21. 取得Project group 配置信息指令 :getProjectGroup参数是否必填说明-p是project group 名-i否服务器ip-i否服务器ip -h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...22. 设置消费进度根据时间来设置消费进度,设置之前要关闭这个订阅组的所有consumer,设置完再启动,⽅可⽣效指令 :resetOffsetByTime参数是否必填说明-f否通过时间戳强制回滚(true|false),默认为true-s是时间戳-g是消费者所属组名-t是topic 名称-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...23. 清除特定Broker权限指令 :wipeWritePerm参数是否必填说明-b是broker 地址-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:port;...24. 获取Consumer消费进度该命令只打印当前与cluster 连接的consumer 的消费进度指令 :getConsumerStatus参数是否必填说明-g是消费者所属组名-t是查询主题-i否Consumer 客户端ip-h否打印帮助-n是nameserve 服务地址列表,格式ip:port;ip:portt;...。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
物理定义##################################################--查看MQ版本--dspmqver--查看队列状态--dspmq--创建队列管理器--crtmqm -q ECIS_QM--删除队列管理器--dltmqm ECIS_QM--启动队列管理器--strmqm ECIS_QM--关闭队列管理器--endmqm -i ECIS_QM 立即停止endmqm -p ECIS_QM 强制停止--运行队列管理器--runmqsc ECIS_QM--定义监听器--DEFINE LISTENER(LSR_4_ECIS_QM) TRPTYPE(TCP) PORT(1616) CONTROL(QMGR) REPLACESTART LISTENER(LSR_4_ECIS_QM)--定义通道--DEFINE CHANNEL(ECIS.SVRCONN) CHLTYPE(SVRCONN) MCAUSER('mqm') REPLACE--启动通道--runmqchl –c ChlName –m ECIS_QM--启动侦听--runmqlsr –t TCP –p 1616 –m ECIS_QMendmqlsr -m ECIS_QM--定义队列--DEFINE QL(Q_SVC2ADP_4_TELNET) REPLACEDEFINE QL(Q_SVC2ADP_4_JDBC) REPLACEDEFINE QL(Q_SVC2ADP_4_HTTP) REPLACEDEFINE QL(Q_SVC2ADP_4_SOCKET) REPLACE--删除队列--delete QL(Q_SVC2ADP_4_TELNET)--查看监听器--display listener (LSR_4_ECIS_QM)--查看通道--dis chs(*)--查看通道--display ql(*) [all]--查看队列深度--display ql(Q_SVC2ADP_4_HTTP) curdepth--清除队列消息--clear ql(Q_SVC2ADP_4_HTTP)--查看CCSID--display qmgr all--修改CCSID--ALTER QMGR [FORCE] CCSID(5488)逻辑定义##################################################./JMSAdminDELETE QCF(T_ECIS_QCF)DELETE Q(T_ECIS_Q_SVC2ADP_TELNET)DELETE Q(T_ECIS_Q_ADP2SVC_TELNET)DELETE Q(T_ECIS_Q_SVC2ADP_JDBC)DELETE Q(T_ECIS_Q_ADP2SVC_JDBC)DELETE Q(T_ECIS_Q_SVC2ADP_HTTP)DELETE Q(T_ECIS_Q_ADP2SVC_HTTP)DELETE Q(T_ECIS_Q_SVC2ADP_SOCKET)DELETE Q(T_ECIS_Q_ADP2SVC_SOCKET)DEFINE QCF(T_ECIS_QCF) DESC() TRAN(CLIENT) HOST(10.151.128.13) QMGR(T_ECIS_QM) CHAN(T_ECIS.SVRCONN) PORT(2626) CCSID(5488) DEFINE Q(T_ECIS_Q_SVC2ADP_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_TELNET) CCSID(5488)DEFINE Q(T_ECIS_Q_ADP2SVC_TELNET) DESC() QMGR(T_ECIS_QM) QUEUE(Q_ADP2SVC_4_TELNET) CCSID(5488)DEFINE Q(T_ECIS_Q_SVC2ADP_JDBC) DESC() QMGR(T_ECIS_QM) QUEUE(Q_SVC2ADP_4_JDBC) CCSID(5488)DEFINE Q(T_ECIS_Q_ADP2SVC_JDBC) DESC() QMGR(T_ECIS_QM)QUEUE(Q_ADP2SVC_4_JDBC) CCSID(5488)DEFINE Q(T_ECIS_Q_SVC2ADP_HTTP) DESC() QMGR(T_ECIS_QM)QUEUE(Q_SVC2ADP_4_HTTP) CCSID(5488)DEFINE Q(T_ECIS_Q_ADP2SVC_HTTP) DESC() QMGR(T_ECIS_QM)QUEUE(Q_ADP2SVC_4_HTTP) CCSID(5488)DEFINE Q(T_ECIS_Q_SVC2ADP_SOCKET) DESC() QMGR(T_ECIS_QM)QUEUE(Q_SVC2ADP_4_SOCKET) CCSID(5488)DEFINE Q(T_ECIS_Q_ADP2SVC_SOCKET) DESC() QMGR(T_ECIS_QM)QUEUE(Q_ADP2SVC_4_SOCKET) CCSID(5488)WebSphere MQ常用命令及配置##################################################//创建本地队列QDEFINE QLOCAL (Q)//将本地队列Q 的最大深度设置为5ALTER QLOCAL (Q) MAXDEPTH(5)//重新创建本地队列Q 如果Q已经存在,则将其全部属性重置为缺省属性DEFINE QLOCAL (Q) REPLACE//创建远程队列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//创建接收端通道CDEFINE CHANNEL(C) CHLTYPE(RCVR)//创建发送方通道C ,连接对方的IP为10.10.10.10 端口为1414 通道连接的传输队列为XQDEFINE 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 qremote (*)//显示所有通道Display channel (*)//定义死信队列DEFINE QLOCAL(QUEUE) DEFPSIST(YES) REPLACE//设定队列管理器的死信队列ALTER QMGR DEADQ(QUEUE)设置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=2AdoptNewMCA=ALL然后重启MQ//定义持久性队列:DEFINE QLOCAL(QNAME) DEFPSIST (YES) REPLACE传输队列管理##################################################1:定义传输队列DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ)注:Q_TRANSFER:传输队列名下面定义一个输入队列并带触发器DEFINE QLOCAL(Q_TRANSFER) USAGE(XMITQ) DEFPSIST(YES)INITQ(SYSTEM.CHANNEL.INITQ) TRIGDATA(DP_RCHANNEL) REPLACE注:参数1:传输队列名称(Q_TRANSFER)参数5:触发器数据(DP_RCHANNEL),也就是触发后要启动的通道。
2:在传输入队列上定义触发器DPCIS_Q_TRANSFER:传输队列触发器数据:DP_RCHANNEL,即:发送通道,触发时启动该通道alter qlocal(DPCIS_Q_TRANSFER) TRIGDATA('DP_RCHANNEL') TRIGTYPE(every) TRIGGER initq('SYSTEM.CHANNEL.INITQ')远程队列管理##################################################通过输入以下命令来定义远程队列定义:define qremote(Q1) rname(Q1) rqmname(QM_APPLE) xmitq(QM_APPLE)注:参数1:队列名称(发送方远程队列名)参数2:远程队列(接收方的本地接收队列名)参数3:远程队列管理器(接收方队列管理器名)参数4:传输队列(发送方传输队列名)通道管理##################################################1:创建接收方通道DEFINE CHANNEL(SDR_ TEST) CHLTYPE(RCVR) REPLACEdefine channel(Q_R_CHANNEL2) chltype(RCVR) replace注:参数1:接收方通道名称replace:表示有该通道了替换2:创建发送方通道DEFINE CHANNEL(SDRNAME) CHLTYPE(SDR) CONNAME(‘100.100.100.215(1418)’) XMITQ(QTNAME) REPLACE其中CHLTYPE可以是:SDR、SVR、RCVR、RQSTR、CLNTCONN、SVRCONN、CLUSSDR 和CLUSRCVR。