【发布时间】:2011-12-10 04:47:09
【问题描述】:
如何 ping IBM WebSphere MQ 队列管理器?有没有办法通过cmd.exe?有没有办法使用 WebSphere 来做到这一点?
我试过了
runmqsc QMGR "qManager"
谢谢!
【问题讨论】:
如何 ping IBM WebSphere MQ 队列管理器?有没有办法通过cmd.exe?有没有办法使用 WebSphere 来做到这一点?
我试过了
runmqsc QMGR "qManager"
谢谢!
【问题讨论】:
取决于你所说的“ping”到底是什么意思。是否要检查正在运行的 WMQ 进程?对于到 QMgr 的本地连接?远程连接?特定频道或队列是否可用?
您可以在本地使用dspmq,它将显示所有本地定义的 QMgrs 及其状态。远程,您可以 ping 侦听器,但如果您没有完成连接,它会导致 WMQ 记录错误并切断跟踪。远程,最好使用 WMQ 客户端建立连接。如果连接成功,则 QMgr 已启动。如果您收到错误,则错误代码(或 JMS 中的链接异常)将告诉您连接请求到达 WMQ 堆栈的距离 - 即侦听器是否已关闭,或者它是否已启动并且在QMgr,或者如果你没有权限等。
MQ 附带了一些示例程序,例如amqsget 和amsqput,以及它们基于客户端的等效程序amqsgetc 或amqsputc,它们可以连接并获取或放置消息。这些可以在脚本中用于检查 MQ 状态。此外,还有一个教程here 提供了一个可以连接的独立 JMS 程序,您可以将其自定义为 ping 应用程序。
您尝试的命令格式为:
echo dis qmgr qmname | runmqsc QMGRNAME
这会回显一个命令,将 QMgr 的属性显示到 runmqsc 并执行它。包含 v7.0 的所有 runmqsc 命令的手册是 here。 v7.1手册is here.
最后,虽然我认为这不是您要寻找的,但 WMQ 有一个 ping 命令。它在一个队列管理器上用于测试与另一个队列管理器的通道连接。 WMQ ping 练习通道路径并验证远程侦听器是否启动、远程队列管理器定义了兼容的通道实例等。但是,这对于 MQ 管理员来说比对于想要知道队列管理器已启动。为此,您需要上述建议之一的某个版本。
【讨论】:
amqsput/amqsget 命令可以做到这一点。没有返回队列状态的控制台命令,但dspmq 返回队列管理器的状态。