Activemq确保持久性吗?

时间:2014-06-19 09:27:42

标签: queue activemq

我在项目中使用activemq队列。它是否保证即使发生故障,消息也会在发送之前保留在队列中?

2 个答案:

答案 0 :(得分:1)

如果启用这样做,是的...它会将消息保存在消息存储库(文件,数据库等)中,并且只有在它们成功出列后才会删除它们

有关持久性选项的详细信息,请参阅此页面:http://activemq.apache.org/persistence.html

请参阅此页面以了解异常处理选项:http://activemq.apache.org/message-redelivery-and-dlq-handling.html

答案 1 :(得分:0)

除了代理持久性配置之外,您还需要确保消息生产者交付模式是持久的 - 请参阅this

在消费者方面,session的确认模式将指示消息何时被确认。通常,JMS客户端的默认行为是AUTO - 当receive方法返回时,将确认消息。但请注意,像Spring这样的包装可能会发送ACK之前!在这种情况下,您可能希望使用客户确认或交易...