【问题标题】:How to fix negative address size when listening to wildcard address?收听通配符地址时如何修复负地址大小?
【发布时间】:2020-12-31 12:22:36
【问题描述】:

Artemis 控制台出错

AMQ222214:目标 /queue/app/xxx 的地址大小不一致且为负数


场景

  • 消息在 /queue/app/xxx 中可用
  • JMSListener 正在监听 /queue/app/*
     @JmsListener(destination = "/queue/app/*")

突然间,错误开始出现,队列似乎被阻塞,监听器没有收到任何新的非持久/非持久消息。同样的设置工作了一段时间。


观察

  • 看来,罪魁祸首是我一直打开 auto-create-expiry-resources 功能。因此,在消息到期时,将为通配符队列(/queue/app/*)和实际队列(/queue/app/xxx)创建到期队列。发布此事件,错误开始出现。
  • 此问题仅影响非持久性/非持久性消息

有什么办法解决这个问题吗?

【问题讨论】:

  • 当同一队列中有两个接收者时,我在持久队列上看到相同的警告消息
  • @Alessandro,我想这在 2.16 activemq.apache.org/components/artemis/download/… 中得到了修复
  • @Alessandro 我可能是错的。请核实。我指的是这个已关闭的问题 - issues.apache.org/jira/browse/ARTEMIS-2859
  • 我刚刚更新到 2.16。我将给它一周的时间看看是否出现负地址大小消息并报告回来,但目前我还没有看到它们。

标签: spring spring-boot jms activemq-artemis


【解决方案1】:

已经有几个与此相关的 Jiras 开放:

您可以等待它们修复或自己提供修复。代码贡献总是受欢迎的。

【讨论】:

    猜你喜欢
    • 2018-12-23
    • 2012-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多