首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring-AMQP和不同的代理

Spring-AMQP和不同的代理
EN

Stack Overflow用户
提问于 2015-04-24 19:30:49
回答 2查看 319关注 0票数 0

我有一个项目与Spring-AMQP。它工作正常。我使用CachingConnectionFactorySimpleMessageListenerContainer,并且我有一个CompositeConnectionListener来检测连接何时关闭。

但是现在我需要检测代理何时关闭(我可以用CompositeConnectionListener检测到它),然后在不同的服务器上建立到不同代理的新连接,并使用新连接重新启动SimpleMessageListenerContainer

我已经试了一段时间了,但我还没找到路。

有人能帮上忙吗?

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2015-04-24 20:37:29

您可以通过提供多个地址让RabbitMQ客户端负责故障转移:

代码语言:javascript
复制
addresses="host1:5672,host2:5672"

如果您想创建自己的连接,您将需要一个委托连接工厂。你也许可以用一个SimpleRoutingConnectionFactory来实现它。参见the documentation about routing connection factories

票数 1
EN

Stack Overflow用户

发布于 2015-04-30 19:14:32

谢谢你,加里。

现在我有一个SimpleRoutingConnectionFactory和两个CachingConnectionFactory (两个不同的代理)。我用CompositeConnectionListener检测连接何时关闭,然后我可以切换到第二个CachingConnectionFactory (手动,我以为它会自动完成)。它工作正常。

但是,如果我尝试从第一个代理开始,我会得到:

代码语言:javascript
复制
org.springframework.amqp.AmqpConnectException: java.net.ConnectException: Connection refused: connect

我不知道如何抓住它,然后换成第二个经纪人。如果我阻止这两个经纪人,同样的事情也会发生。

再次感谢您!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29846371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档