2017-02-13 43 views
3

我跟隨this guide瞭解如何在RabbitMQ中使用spring-rabbit。但是,在本指南中,RabbitMQ配置是默認配置(本地主機服務器和憑證作爲來賓/來賓)。如果我想用ip地址和憑證連接到遠程RabbitMQ,我該怎麼辦?我不知道應該在哪裏設置這些信息。如何使用spring-rabbit配置RabbitMQ連接?

回答

7

該指南的應用程序是Spring Boot應用程序。

添加文件application.propertiessrc/main/resources

然後,您可以根據Spring Boot Documentation配置RabbitMQ的特性 - 向下滾動到RabbitMQ的屬性...

... 
spring.rabbitmq.host=localhost # RabbitMQ host. 
... 
spring.rabbitmq.password= # Login to authenticate against the broker. 
spring.rabbitmq.port=5672 # RabbitMQ port. 
... 
spring.rabbitmq.username= # Login user to authenticate to the broker. 
... 

要連接到羣集,使用

spring.rabbitmq.addresses= # Comma-separated list of addresses to which the client should connect. 

例如server1:5672,server2:5672

如果您不想使用引導自動配置,請自行聲明CachingConnectionFactory@Bean並根據需要進行配置。

+0

這很奇怪,我按照你的建議在'application.properties'中添加了這些屬性。但是,這些屬性似乎尚未加載到正在運行的應用程序中。我錯過了什麼? – kenshinji

+0

我剛剛下載了指南,爲'complete'版本在'src/main/resources'中添加了'application.properties',並將它指向了遠程rabbitmq實例,它工作得很好 - 我看到了在兔子實例上創建的隊列和輸出消息。你如何運行指南? –

+0

我的不好,抱歉,你的解決方案就像一個魅力。它在這裏不起作用,因爲我在我的配置類中添加了@Bean MessageListenerAdapter listenerAdapter(Receiver receiver){返回新的MessageListenerAdapter(receiver,「receiveMessage」);}'。 – kenshinji