如何解决ActiveMQ Artemis错误AMQ224065解释?
在ActiveMQ Artemis 2.15.0版本中,我们正在自动创建队列。与默认情况下一样,自动删除设置为true(未更改)。我们不时看到以下日志。从日志消息中,似乎服务器尝试删除自动创建的队列,但由于它具有1条消息,因此失败。我的问题是,当队列中有消息时,为什么代理会尝试删除队列?
2020-10-22 02:48:23,599 ERROR [org.apache.activemq.artemis.core.server] AMQ224065: Failed to remove auto-created queue test:
ActiveMQIllegalStateException[errorType=ILLEGAL_STATE message=AMQ229215: Cannot delete queue test on binding test - it has 1 messages]
解决方法
您可以想象,代理程序具有许多线程来执行许多不同的任务。完全有可能从队列中删除最后一条消息,并且代理程序可以启动删除队列的过程,与此同时,另一个线程将消息添加到队列中。在这种情况下,将记录此ERROR
消息。
我建议您禁用地址和队列的自动删除功能,或者至少将auto-delete-queues-delay
和auto-delete-addresses-delay
设置为非零值(例如5000)。默认情况下,代理的未来版本将禁用自动删除。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。