首页 > 解决方案 > ArtemisMQ 地址内存填满过快

问题描述

我正在使用 ArtemisMQ 2.17。当我查看每个队列时,每个队列的消息计数始终显示为 0,因为我们有侦听器积极扫描以快速获取消息。但是,当我查看代理上的整体消息数时,它开始从 0 增长到数百万以上;运行代理后,这开始增长约 20 分钟。

如果我重新启动代理服务,我的地址内存将被清除。有时,我还没有确定时间间隔,当我重新启动服务时,我会看到消息显示在 ExpiryQueue 中。但是每次我重新启动服务时都不会发生这种情况;只有某些时候。

我们的应用程序使用 Spring JMS 作为 Producer 和 Listeners;地址/队列是多播的。

这是我在控制台的代理属性部分看到的内容。我希望消息计数始终为 0,但在 20 分钟左右后,它开始无限期地攀升,并且确认和添加的开始不匹配。

在此处输入图像描述

我该怎么做才能接收并完全删除消息?或者这里发生了什么?这些消息去哪里了,为什么在重启几次后它们会随机出现在我的 ExpiryQueue 中?

输出:./artemis queue stat 在此处输入图像描述

在控制台中查看代理级别属性: 在此处输入图像描述

标签: activemq-artemis

解决方案


推荐阅读