当前位置:首页 > MQ 常用命令
1. 队列管理器 1.1. 创建队列管理器
命令:crtmqm
crtmqm -ld /var/mqm/log -lc -lf 16384 -lp 25 -ls 5 QMCIS 参数说明: -ld 日志文件目录 -lc 使用循环日志 -lf 日志文件页大小 -lp 主日志文件个数 -ls 辅助日志文件个数 QMCIS:队列管理器名 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 命令结果显示示例: QMNAME(Test) STATUS(正在运行) QMNAME(Test2) STATUS(已正常结束) 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) 示例: alter qmgr CCSID(819) #修改字符集 def ql(DEADQ) defpsist(yes) maxdepth(20000) replace alter qmgr deadq(DEADQ) #设置死信队列为DEADQ
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”协议。
2.2.2. 定义发送通道
def chl(5819.999581000107) chltype(SDR) xmitq(QMCIS) trptype(tcp) replace
discint(0)
conname('10.2.106.106(1417)')
2.2.3. 定义服务器连接通道
def chl() chltype() replace
2.2.4. 删除通道
Delete chl(channel name)
2.2.5. 查看通道状态
dis chs(channel name)
通道的当前状态,它可以是正在启动、正在绑定、正在初始化、正在运行、正在停止、正在重试、已暂停、已停止、正在请求和通道状态未找到。
正常运行时,通道状态为“正在运行”; 关闭通道时,通道状态为“已停止”; 如果通道状态长时间处于“正在绑定”(binding)、“正在重试”(retrying),则表明通道不正常,需要人工介入。这时可查看队列管理器日志文件,日志文件中一般会提供异常原因。
关于“通道状态未找到”:此状态值仅表示当前没有建立到此通道的连接,并不能表示通道是否正常。
2.2.6. 启动通道
Start chl(channel name)
2.2.7. 关闭通道
Stop chl(channel name)
2.2.8. 重置通道
reset chl(channel name)
2.3. 监听器
定义监听器
def listener(QMC5819) TRPTYPE(TCP) PORT(1417) CONTROL(STARTONLY) BACKLOG(0) replace
参数描述:
? listener(QMC5819):监听器名,名称可任意取; ? TRPTYPE(TCP):通讯协议类型; ? PORT(1417):服务监听端口
? CONTROL(string)指定如何启动和停止侦听器:
MANUAL 不会自动启动或自动停止侦听器。通过使用 START LISTENER 命令和 STOP
LISTENER 命令来控制它。这是缺省值。
QMGR
当队列管理器启动和停止时,同时启动和停止被定义的侦听器。
STARTONLY 当队列管理器启动时,同时启动侦听器,但当队列管理器停止时,不请求停止侦
听器。
2.3.1. 启动监听器
start listener(QMC5819)
共分享92篇相关文档