artemis stomp消息到期

x4shl7ld  于 2021-06-30  发布在  Java
关注(0)|答案(1)|浏览(447)

从文档中,我仍然不了解如何在broker.xml中为stomp协议配置消息过期。
我们有一个聊天项目,其中“多播”地址是为每个聊天创建

topic/chat.1, topic/chat.2, ..., topic/chat.100000

除此之外,我们使用“持久订阅”。因此,即使在我们不受欢迎的项目中,每月的主题数也可能超过50000个,这会导致服务器内存不足,特别是当我们转到web控制台时。
我希望在删除过期邮件时,不必要的地址和队列会被自动删除

sulc1iza

sulc1iza1#

你可以用
expiry-delay address-setting 在文档中提到对所有传入消息应用过期,例如:

<address-setting match="#">
   <expiry-delay>300000</expiry-delay> <!-- 5 minutes -->
</address-setting>

如果您使用的是activemq artemis 2.12.0或更高版本,那么当最后一条消息从没有使用者的自动创建的队列中过期时,默认情况下将自动删除该队列(如果相应的自动创建地址没有队列,则默认情况下也将自动删除该队列)。

相关问题