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