3

我使用 MQ 在我的系统和其他系统之间发送/接收消息。有时我发现响应队列中没有响应消息,但其他系统已经将响应消息放入响应队列(从日志中检查)。那么,如何检查哪一点是问题的原因,如何证明消息没有到达我的响应队列。

此外,当消息到达我的队列时,它将被写入日志文件。

4

1 回答 1

0

您可以使用 QStats 界面实时查看。MO71 SupportPac是一个桌面客户端,您可以将其配置为类似于 WebSphere MQ Explorer 进行连接。它的选项之一是队列统计信息。每次查看队列统计信息时,WMQ 都会将它们重置为零。所以程序是这样的:

  1. 启动 MO71 并浏览队列。
  2. 过滤一个感兴趣的队列。
  3. 多次查看队列统计信息。
  4. 您将看到它们重置为零。
  5. 现在运行你的测试。
  6. 再次查看队列统计信息。

如果远程程序实际放置了一条消息,您将看到队列现在显示一条或多条 PUT 消息。

如果您的程序成功执行了消息的 GET,您将看到 GET 计数等于 PUT 计数。

如果 GET 和 PUT 都为零,则远程程序永远不会 PUT 响应消息。

还有其他一些方法,但这是最简单的。频谱的另一端是SupportPac MA0W,它将向您显示针对该队列、PID 或其他方式的每个 API 调用。它显示了所有选项,因此如果程序尝试使用错误的选项打开队列(即打开远程队列进行输入),它就会显示出来。但是 MA0W 是作为出口安装的,需要反弹 QMgr,所以它有点侵入性。

于 2011-12-02T03:17:52.443 回答