Spring-AMQP和不同的经纪人

时间:2015-04-24 11:30:49

标签: spring spring-amqp

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

但现在我需要检测代理何时关闭(我可以使用CompositeConnectionListener检测它)然后在另一台服务器上建立与另一个代理的新连接,然后重新启动SimpleMessageListenerContainer与新的联系。

我已经尝试了一段时间,但我还没有看到。

有人可以帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

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

addresses="host1:5672,host2:5672"

如果您想自己动手,则需要委派连接工厂。您可以使用SimpleRoutingConnectionFactory来实现它。请参阅the documentation about routing connection factories

答案 1 :(得分:0)

谢谢你。

现在我有一个signedCms.ComputeSignature(cmsSigner, false); 和两个SimpleRoutingConnectionFactory(两个不同的经纪人)。我用CachingConnectionFactory检测连接何时关闭,然后我可以更改为第二个CompositeConnectionListener(手动,我认为它将自动完成)。它工作正常。

但如果我尝试从第一个经纪人开始,我得到:

CachingConnectionFactory

我不知道如何抓住它并改为第二个经纪人。如果我停止这两个经纪人,也会发生同样的事情。

再次感谢你!

相关问题