如何从 IBM MQ 接收多条消息
我正在连接到 IBM Websphere MQ,并且当前使用来自对象的 receive() 方法一次读取一条消息:
javax.jms.Message;
有没有办法一次性从队列中检索多条消息?
非常感谢, G。
I'm connecting to an IBM Websphere MQ and currently reading one message at a time using the method receive() from the object:
javax.jms.Message;
Is there a way to retrieve multiple messages from the queue in one go?
Many thanks,
G.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
取决于你是否区分“阅读”和“检索”。
从 JMS 的角度来看,不会。 API 将在每次方法调用时返回一条消息。
从 WMQ 的角度来看,是的 - 前提是客户端和队列管理器都处于 v7 并且消息是非持久性的或正在浏览的。在这种情况下,您可以在托管对象定义中或在运行时动态启用预读。队列管理器将从队列中流式传输多条消息,并在第一个消息得到确认之前将它们传递到应用程序。有关这方面的更多信息,请参阅 使用 JMS 的 WebSphere MQ 类预读。
Depends on whether you make a distinction between "read" and "retrieve".
From a JMS perspective, no. The API will return one message per method call.
From the WMQ perspective, yes - provided the client and queue manager are both at v7 and the messages are non-persistent or being browsed. In this case you can enable read-ahead in the managed object definition or dynamically at run time. The queue manager will stream several messages off of the queue and deliver them to the application before the first one is acknowledged. For more information on this, see Using read ahead with WebSphere MQ classes for JMS.