我正在使用ActiveMQ编写Java应用程序。我有一个生产者类(它接受用户输入)和一个消费者类与一个监听器,所以只要消息到达,消息监听器就会执行onMessage(msg)函数。 但是,我的问题是,消费者何时将确认发回给代理,以便消息从代理退出?是在完成onMessage(msg)函数中写入的操作之后,还是仅在调用onMessage(msg)函数时?来自ActiveMQ中消费者的致谢
1
A
回答
1
在正常情况下,在onMessage完成后发送ack,因为它需要处理onMessage抛出异常的情况。
3
取决于它的配置方式,部分取决于你如何使用use transactions。
您使用的是消息驱动bean吗?在这种情况下,我相信当交易成功执行时会发送确认。参见specification(特别是“ejbcore”版本),部分5.4.14消息确认为JMS消息驱动Bean,它说:
消息确认由容器自动处理。如果消息驱动bean使用容器管理的事务分界,则消息确认将作为事务提交的一部分自动处理。
它接着说:
如果使用bean管理事务划分,消息回执不能是Bean管理的事务的一部分,并且,在这种情况下,收据被确认由容器。如果使用Bean管理的事务分界,则Bean提供者可以通过使用
MessageDriven
注释的activationConfig
元素或通过使用activation-config-property
部署描述符元素来指示是应该应用JMSAUTO_ACKNOWLEDGE
语义还是DUPS_OK_ACKNOWLEDGE
语义。
但是既然你真的不应该使用bean管理的事务,那么希望这是不相关的。
相关问题
- 1. 来自ActiveMQ中消费者的致谢
- 2. ActiveMQ消费者OutOfMemoryException
- 3. 消费者未收到来自ActiveMQ的消息
- 4. ActiveMQ的节流消费者
- 5. 一个缓慢的ActiveMQ消费者导致其他消费者缓慢
- 6. ActiveMQ C++同步消费者
- 7. ActiveMQ消费者挂起
- 8. activemq消费者枚举
- 9. 来自一个ActiveMQ队列的几个消费者
- 10. 如何杀死activemq中的消费者
- 11. ActiveMQ一个生产者多消费者
- 12. Java生产者,蟒蛇消费者,ActiveMQ
- 13. 来自magento的消费者密钥和消费者密钥
- 14. activeMQ上消费者的选择问题
- 15. 消费者计数/正在处理来自队列+ ActiveMQ + Java的消息计数
- 16. 在ActiveMQ中自动删除不活动的耐用消费者
- 17. ActiveMQ消费者执行延迟
- 18. ActiveMQ:缓慢处理消费者
- 19. ActiveMQ - 消费者不共享负载
- 20. ActiveMQ持久订户 - 并发消费者
- 21. activeMQ多个消费者问题
- 22. 进行中的ActiveMQ生产者/消费者的例子?
- 23. 来自kafka消费者的InstanceAlreadyExistsException
- 24. 来自消费者群体的所有消费者都会收到消息
- 25. 向ActiveMQ中的多个消费者发送消息
- 26. ActiveMQ的生产者/消费者连接侦听
- 27. 如何查找从ActiveMQ获取消息的消费者的IP?
- 28. ActiveMQ - 将消息发送给特定的消费者
- 29. activemq缓慢消费者块生产者,虽然producerFlowControl是false
- 30. 检测消费者ActiveMQ主题中的变化
是的..我刚刚检查后,要求在onMessage()函数中等待并且未发送确认。谢谢:-) – Vanp 2012-03-05 05:48:53