【发布时间】:2015-03-30 19:06:31
【问题描述】:
我是 JMS 队列的新手。请在以下方面给我建议:
我们是否只需要在客户端使用 QueueBrowser.getEnumeration(),就在消费下一条消息之前?或者我们可以从发送方使用它来浏览队列中的消息,我们可以使用队列名称从上下文中检索这些消息?
浏览队列的消息有什么限制吗?因为我从来没有在 QueueBrowser.getEnumeration();一直都是空的!
提前致谢。
【问题讨论】:
我是 JMS 队列的新手。请在以下方面给我建议:
我们是否只需要在客户端使用 QueueBrowser.getEnumeration(),就在消费下一条消息之前?或者我们可以从发送方使用它来浏览队列中的消息,我们可以使用队列名称从上下文中检索这些消息?
浏览队列的消息有什么限制吗?因为我从来没有在 QueueBrowser.getEnumeration();一直都是空的!
提前致谢。
【问题讨论】:
QueueBrowser 如名称 Browser 所暗示的那样,如果您想查看队列中的消息而不将其从队列中删除,则需要该名称。另一方面,QueueReceiver 用于接收消息并将其从队列中删除。
除非有特殊要求,否则不需要使用 QueueBrowser 来检查消息,然后使用 QueueReceiver 来消费消息。您可以按照消息产生的顺序消费消息,也可以使用选择器消费符合特定条件的消息。
根据您的应用程序设计要求,在发送方或接收方的任何地方使用 QueueBrowser 没有任何限制。
【讨论】: