【问题标题】:ActiveMQ - Detecting Message DuplicationActiveMQ - 检测消息重复
【发布时间】:2023-03-16 10:58:01
【问题描述】:

我目前正在探索 Active MQ 中的重复数据删除策略。 Artemis 支持duplicate detection,但我不确定 ActiveMQ 5

如果消息当前存在于 ActiveMQ 5 的队列中,是否可以阻止将其放置在队列中?

不再在队列中并且过去一直在队列中的消息将被允许返回队列。

我试图实现的底层功能是流控制,其中多个相同值的消息不会放在队列中,以消除重复处理。

根据文档,我尝试使用定义的消息属性_AMQ_DUPL_ID,但我仍然遇到重复。我怀疑这可能在 ActiveMQ 5 中不受支持,并且不确定什么是替代选项。我愿意接受建议。

注意:正在使用的 Active MQ 实例由 Amazon MQ 提供。

【问题讨论】:

    标签: jms activemq


    【解决方案1】:

    正如您所怀疑的,ActiveMQ 5.x 不支持自动重复检测。这仅在 ActiveMQ Artemis 中受支持。也就是说,当消息从队列中被使用时,消息不会从代理的重复 ID 缓存中删除。这是因为在大多数情况下,在消息被消费后发送的副本仍被视为副本。

    也许能够在代理插件中实现某种重复检测,但我不知道 Amazon MQ 是否支持添加自定义插件。您更有可能必须在客户端本身中实施重复检测。

    【讨论】:

      猜你喜欢
      • 2019-03-01
      • 2011-07-06
      • 1970-01-01
      • 2012-04-28
      • 1970-01-01
      • 2011-06-23
      • 2022-12-15
      • 2015-02-18
      • 2018-02-03
      相关资源
      最近更新 更多