Activemq 是不是保证持久化?

Posted

技术标签:

【中文标题】Activemq 是不是保证持久化?【英文标题】:Does Activemq ensure persistence?Activemq 是否保证持久化? 【发布时间】:2014-08-09 19:00:04 【问题描述】:

我在我的项目中使用 activemq 队列。它是否保证即使发生故障,消息也将保留在队列中直到被分派?

【问题讨论】:

【参考方案1】:

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

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

【讨论】:

【参考方案2】:

如果允许这样做,是的...它将消息保存在消息存储(文件、数据库等)中,并且仅在它们成功出列后将其删除

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

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

【讨论】:

以上是关于Activemq 是不是保证持久化?的主要内容,如果未能解决你的问题,请参考以下文章

ActiveMQ持久化方式(转)

ActiveMQ的学习(ActiveMQ的持久化)

ActiveMQ从入门到精通

从入门到精通ActiveMQ

从入门到精通ActiveMQ

ActiveMQ持久化机制