rabbitmq - 我可以在运行时更新 AMQP 设置吗?
问题描述
我有特定的要求:需要可以在运行时更改连接设置和侦听队列的应用程序。
我想使用 Spring AMQP 抽象:应用程序将在运行时更新的 CachingConnectionFactory、DirectMessageListenerContainer、RabbitTemplate、AsyncRabbitTemplate。
CachingConnectionFactory - 更新地址、用户名和密码。DirectMessageListenerContainer - 更新 QueueNames。最后一个 - 不会更新,但会受到 ConnectionFactory 的影响。
是正确的方式吗?或者我应该对消费者使用基本实现?
解决方案
- 停止使用代理的所有活动(侦听器容器、生产者)
cachingConnectionFactory.resetConnection()
- 重新配置连接工厂
- 在容器中添加和删除队列
- 启动容器和生产者
推荐阅读
- ionic-framework - 为什么离子微调器没有出现在我的项目中?
- python - 如何使用来自 AWS Lambda 的 AWS Personalize 实时活动调用?
- python-3.x - Opencv在图像上绘制黑色像素
- react-native - React Native - 如何在运行时调整视图大小并重新渲染页面
- xgboost - hyperopt 结果超出了我的 hp.choice 限制,为什么?(XGBoost)
- java - 尝试在控制器 Spring Boot 上 @Autowire 存储库时获取 NoSuchBeanDefinitionException?
- javascript - 如何在剑道网格中进行搜索输入?
- c++ - 如何避免由第 3 方库引起的“已定义”?
- conv-neural-network - 当我们在暗网中实现 YOLOv2 时,每 10 个 epoch 之后,图像大小就会改变。这是怎么回事?
- node.js - Mongoose 架构:TypeError:无法设置未定义的属性“generateAuthToken”