【问题标题】:How do I make my Last Image Recovery Policy topic survive broker restarts?如何使我的上次映像恢复策略主题在代理重新启动后仍然有效?
【发布时间】:2019-06-15 09:04:00
【问题描述】:

我在 ActiveMQ 中使用 lastImageSubscriptionRecoveryPolicy 配置了一个主题。它按预期工作,因为代理保留了发送到主题的最后一条消息,并且当新的消费者订阅该主题时,它会收到最后一条消息:

  1. 生产者发布 N 条消息
  2. 消费者A订阅了主题;收到 1 条消息
  3. 消费者B订阅了主题;收到相同的 1 条消息

但是,当我重新启动代理时,消息会丢失。这是事件的顺序:

  1. 生产者发布 N 条消息
  2. 代理已重启
  3. 消费者订阅主题;什么都没收到

是否可以启用最后一条消息(Last Image)的持久性,以便即使在代理重新启动时也能持久化?

【问题讨论】:

    标签: activemq


    【解决方案1】:

    不,这是不可能的。如果您需要消息持久性,那么您要么需要使用队列,要么使用持久主题订阅,以便在重新启动后保留消息。代理具有一些主题的便利功能,例如恢复策略,但它们并不能真正替代基于队列的消息传递存在的更强大的保证,因此如果您需要,则必须使用这些机制。

    【讨论】:

      猜你喜欢
      • 2021-06-17
      • 1970-01-01
      • 1970-01-01
      • 2021-05-03
      • 2010-10-15
      • 1970-01-01
      • 2012-12-22
      • 2021-12-12
      • 2014-09-10
      相关资源
      最近更新 更多