首页 > 解决方案 > 我可以在运行时更新 AMQP 设置吗?

问题描述

我有特定的要求:需要可以在运行时更改连接设置和侦听队列的应用程序。

我想使用 Spring AMQP 抽象:应用程序将在运行时更新的 CachingConnectionFactory、DirectMessageListenerContainer、RabbitTemplate、AsyncRabbitTemplate。

CachingConnectionFactory - 更新地址、用户名和密码。DirectMessageListenerContainer - 更新 QueueNames。最后一个 - 不会更新,但会受到 ConnectionFactory 的影响。

是正确的方式吗?或者我应该对消费者使用基本实现?

标签: rabbitmqspring-amqpspring-rabbit

解决方案


  • 停止使用代理的所有活动(侦听器容器、生产者)
  • cachingConnectionFactory.resetConnection()
  • 重新配置连接工厂
  • 在容器中添加和删除队列
  • 启动容器和生产者

推荐阅读