【发布时间】:2013-02-25 08:49:24
【问题描述】:
从一般计算机科学的角度来看 - 当我们从逻辑意义上考虑队列时 - 我们认为能够“窥视”队列中的第一项。
当我查看 JMS API 时 - 它有一个 MessageListener - 它有一个 OnMessage() 方法。这有点像“不要给我们打电话——我们会打电话给你。”
JMS 有队列窥视的概念吗?
【问题讨论】:
-
您打算如何使用此功能?您可以阅读一条消息并将其回滚,以便再次在队列中看到它。
-
感谢@PeterLawrey - 如果您可以发布一个指向此示例的链接,那么我会将其标记为已回答。
-
关闭自动提交。这需要您向他们的 commit() 消息或回滚消息。我不知道有什么好的例子,但谷歌可能会有所帮助。
-
实际上,如果 JMS 有某种队列窥视功能会非常好,所以如果你想暂停你的消费者,你可以在消费消息之前检查一个标志。或者,如果消息驱动 bean 可以有某种 @beforeOnMessage 方法,您可以在实际使用消息之前执行该方法