我正在使用 XMS(即 IBM Message Services Client for .NET)连接到 IBM MQ 并获取消息。
话虽如此,我想知道如何在任何给定时间点获取队列上的消息计数。
(在 IQueueBrowser.GetEnumerator 上进行了探索,但它会将消息下载到客户端。)
XMS .NET 是 JMS 规范的实现,JMS 特定未定义检索队列中消息计数的方法或属性。因此 XMS 没有提供这样做的方法。
与队列属性相关的任何事情都是特定于提供者的管理工作,因此您必须使用特定于消息提供者的 API。
但为什么你想知道消息的数量呢?应用程序应编码为连续接收消息。当队列中没有更多消息时,您的应用程序可以选择停止接收消息或等待更多消息。如果没有消息,接收调用将返回空消息对象。您的应用程序可以检查这一点并决定进一步接听电话或退出。
华泰