【问题标题】:Non durable subscriptions does not disapear on ServiceBus非持久订阅不会在服务总线上消失
【发布时间】:2025-12-25 21:10:07
【问题描述】:

在春季,我使用 JMS 和 amqp 通过创建非持久订阅来收听 Azure 服务总线主题。 我正在使用带有@JmsListener 注释的方法。 主题订阅在我启动服务时创建,在我关闭时销毁。

但是每小时都会有一条警告日志条目显示 amqp 令牌已过期。 然后创建另一个订阅,我的服务一直在听这个主题,这个功能很好。 问题是之前的订阅,不再使用,没有被销毁。

这会产生大量不应该存在的未使用订阅。

我尝试过使用 spring containerFactoryazure-service-bus-jms 库,结果相同。

我想知道是否有办法让未使用的订阅自动销毁,就像我关闭服务时正在使用的订阅一样。

【问题讨论】:

    标签: azureservicebus amqp spring-jms


    【解决方案1】:

    访问令牌刷新机制符合预期。 60 分钟是默认间隔。

    对于未使用的订阅,如果订阅是非持久的,则应在 AMQP 链接断开(消费者断开连接)时由服务将其删除。 Azure ServiceBus 还有一种称为“空闲时自动删除”的机制,它将在这些订阅空闲和未使用 X 分钟后清理它们。总体而言,您可能不需要担心它们,除非您由于订阅未立即清理而遇到特定错误。

    【讨论】: