IBM MQ常用命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1. 队列管理器
1.1. 创建队列管理器
命令:crtmqm
示例:
1.2. 启动队列管理器
命令:strmqm
停止队列管理器
命令:endmqm -c|-w|-i|-p
参数说明:
-c 受控关闭(或停顿关闭)。这是缺省值。
队列管理器停止,但仅当所有应用程序已断开连接后才停止。当前正在处理的任何MQI 调用已完成。
立即将控制权返回给您,并且不通知您队列管理器是何时停止的。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。
-w 等待关闭。
此类型的关闭等效于受控关闭(除了仅当队列管理器已停止后才将控制权返回给您之外)。当执行关闭时,您将接收到消息:等待队列管理器qmName 结束。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以QUIESCE 方式发出的STOP CHANNEL 命令。
-i 立即关闭。队列管理器在完成所有当前正在处理的MQI 调用后停止。任何在该命令发出后发出的MQI 请求都将失败。当队列管理器再次启动时,任何未完成的工作单元将回滚。
队列管理器结束后返回控制权。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以FORCE 方式发出的STOP CHANNEL 命令。
-p 抢先关闭。
仅在意外情况下使用此类型的关闭。例如,当队列管理器在常规endmqm 命令下未停止。
队列管理器可以停止而不等待应用程序断开连接或MQI 调用完成。这可能会产生WebSphere MQ 应用程序的不可预测的结果。关闭方式设置为立即关闭。如果队列管理器稍后未停止,关闭方式将升级,且终止所有剩余的的队列管理器进程。
对通过服务器连接通道连接的任何客户机应用程序的影响等效于以TERMINATE 方式发出的
STOP CHANNEL 命令。
1.3. 删除队列管理器
命令:dltmqm
1.4. 显示队列管理器启动状态
命令:dspmq
2. 管理本地MQ对象
使用MQSC 命令执行本地管理任务
使用MQSC命令执行定义或修改队列、通道等操作。MQSC命令可以有以下两种使用方式:
●交互地使用MQSC 命令:runmqsc [qmgrName]
●从文本文件运行MQSC 命令:runmqsc [qmgrName] < myprog.in > myprog.out
命名 WebSphere MQ 对象的规则:
WebSphere MQ 认证信息、通道、客户机通道、侦听器、名称列表、进程、队列、服务和存储类对象存在于各自独立的对象名称空间中,因此,每个不同类型的对象都可以有相同的名称。但是,同一个名称空间中的对象不能与任何其它的对象同名。(例如,本地队列不能和模型队列有相同的名称。)WebSphere MQ 中的名称都区分大小写;但是,您应该记住不包含在引号中的小写字符将转换为大写。
显示或修改队列管理器属性
display qmgr (display可简写为dis)
示例:
2.1. 队列
2.1.1. 定义本地队列示例
def ql(FROMCCPC_1) maxdepth(10000) defpsist(yes) replace
参数说明:
●ql(FROMCCPC_1):队列本地名称
●maxdepth:队列上允许的最大消息数;
●defpsist:队列中消息持久性默认值。
NO 该队列上的消息在队列管理器重新启动时丢失
YES 该队列上的消息在队列管理器重新启动时保存了下来。
关于消息在队列中的保存时间:消息在队列的保存时间与三个设置有关:队列defpsist属性、消息Persistence持久性属性和消息Expiry消息到期时间属性,其中队列defpsist属性是在创建队列时设置,消息Persistence和Expiry属性是应用程序往队列放入消息时指定。消息本身的Persistence值优先于队列defpsist值。Expiry指消息到期时间,即经过指定的时
间后,消息如果还没被取走,此消息将过期(无效)。消息过期后,可能会自动从队列中删除(取决于不同操作系统的MQ实现)。对于非持久性消息,即使Expiry设为永不过期,重启队列管理器时,消息也将丢失。
2.1.2. 定义远程队列示例
def qr(TOCCPC_1) rname(5819_1) rqmname(QMC5819) xmitq(QMGF) defpsist(yes) replace
参数说明:
●qr(TOCCPC_1):队列本地名称,名字可任意取;
●rname(5819_1):远程队列名,必须与远程队列管理器中的本地队列名相同;
●rqmname(QMC5819):远程队列管理器名,必须与远程队列管理器名相同;
●xmitq(QMGF):本地传输队列名称。
2.1.
3. 定义传输队列示例
def ql(QMGF) usage(XMITQ) defpsist(YES) maxdepth(50000) trigger trigtype(FIRST) trigdata(999581030604.5819) initq(SYSTEM.CHANNEL.INITQ) replace
参数说明:
●ql (QMGF):队列本地名称,名字可任意取;
●usage(XMITQ):指定此本地队列为传输队列,参数值固定填“XMITQ”;
●trigger:启动触发(相应的,NOTRIGGER为禁用触发)
●trigtype(FIRST) :触发方式,建议值为“FIRST”,即第一条消息触发;
●trigdata(999581030604.5819):触发数据,值为传输队列将使用的发送通道名;
●initq(SYSTEM.CHANNEL.INITQ):触发队列,固定填“SYSTEM.CHANNEL.INITQ”。
触发器在此的作用是当传输队列接收到第一条消息时,将触发启动指定的发送通道。
2.1.4. 查看队列
dis ql(qname) all 显示队列所有属性
dis ql(qname) curdepth 显示队列当前深度,即当前队列中存放的消息数
dis qs(qname) type(queue) all显示与队列相关的状态信息
dis qs(qname) type(handle) all显示与访问队列的句柄相关的状态信息
2.1.5. 删除队列
delete ql(qname)
2.1.6. 删除队列中的消息
clear ql(qname)
注:删除队列中的消息时出错时处理
尝试执行命令RESOLVE CHANNEL(channel_name) ACTION( COMMIT )后,再执行clear ql 命令。
2.2. 通道
2.2.1. 定义接收通道
def chl(999581000107.5819) chltype(rcvr) trptype(tcp) replace
参数描述:
●chl(999581000107.5819):接收通道名称,必须与远程队列管理器中的发送对列名称相
同。推荐的命名规则为“远程队列管理器名.本地队列管理器名”;
●chltype(rcvr):指定通道为类型,值固定为“rcvr”;
●trptype(tcp):通讯协议,除非特别指明,一般采用“tcp”协议。