【发布时间】: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