首页 > 解决方案 > 即使在所有消息都被消费和确认之后,消息计数也不为零

问题描述

我们已经将 ActiveMQ Artemis 2.16.0 容器化,并将其部署为KEDA的 K8s 部署。

我们使用 STOMP 使用 stomp.py python 模块。ACK 模式在连接上设置为client-individualand consumerWindowSize= 0。我们会在阅读该消息后立即予以确认。

问题是,有时,即使在所有消息都被实际使用和确认之后,Web 控制台中的消息计数也不会变为零。当我浏览队列时,我看不到其中的任何消息。这导致 KEDA 不必要地启动 pod。有关此问题,请参阅我在 JIRA 中附加的屏幕截图。

标签: activemq-artemisstomp.py

解决方案


我在我的应用程序代码中解决了这个问题。我的要求是一个队列侦听器应该只使用一条消息并优雅地退出。因此,在为消费消息发送 ACK 后不久,我断开了连接,而不是等待睡眠持续时间断开。

谢谢,贾斯汀,花时间在这上面。


推荐阅读