如何获取 IBM Websphere Queue 上的消息计数

How to get a count of messages on IBM Websphere Queue

我正在使用 XMS(即 IBM Message Services Client for .NET)连接到 IBM MQ 并获取消息。

话虽如此,我想知道如何在任何给定时间点获取队列中的消息数。

(在 IQueueBrowser.GetEnumerator 上进行了探索,但它会将消息下载到客户端。)

XMS .NET 是 JMS 规范的实现,JMS 特定未定义检索队列中消息计数的方法或 属性。因此 XMS 不提供这样做的方法。

与队列属性有关的任何事情都是提供者特定的管理工作,因此您必须使用消息提供者特定的 API。

但是你为什么想知道消息的数量?应将应用程序编码为连续接收消息。当队列中没有更多消息或等待更多消息时,您的应用程序可以选择停止接收消息。如果没有消息,接收调用将 return 带有空消息对象。您的应用程序可以对此进行检查并决定继续接听电话或退出。

HTH