我想找到方法來聲明隊列等,在應用程序啓動時它們會自動創建。我知道這可以通過添加通過Java代碼創建隊列來完成,但理想情況下,如果Spring Boot將基於xml配置配置我的RabbitMQ環境,那將會很不錯。我試圖創建一個沒有運氣的resources.xml文件。所以我想知道這是否有可能?如何讓Spring Boot根據外部配置配置RabbitMQ配置?
任何提示如何進行或一些例子如何做到這一點?
我想找到方法來聲明隊列等,在應用程序啓動時它們會自動創建。我知道這可以通過添加通過Java代碼創建隊列來完成,但理想情況下,如果Spring Boot將基於xml配置配置我的RabbitMQ環境,那將會很不錯。我試圖創建一個沒有運氣的resources.xml文件。所以我想知道這是否有可能?如何讓Spring Boot根據外部配置配置RabbitMQ配置?
任何提示如何進行或一些例子如何做到這一點?
要允許Spring AMQP在應用程序啓動時填充AMQP對象,必須將它們聲明爲bean並使用<rabbit:>
名稱空間進行XML配置以簡化您的生活。
Somethis這樣的:
<rabbit:queue name="my.queue" />
<rabbit:direct-exchange name="my.exchange">
<rabbit:bindings>
<rabbit:binding queue="my.queue" key="my.routingKey" />
</rabbit:bindings>
</rabbit:direct-exchange>
當你在resources.xml
這個配置,你將能夠import
它的主引導配置:
@Configuration
@EnableAutoConfiguration
@ImportResource("classpath:com/my/proj/configs/resources.xml")
public class MyConfiguration {
}
由於春季啓動自動配置,它會生成RabbitAdmin
bean,以便我們在啓動時填充這些AMQP對象。
請更具體地瞭解您嘗試設置的內容。 Spring Boot(和/或Spring Cloud連接器)將設置與代理的連接,並且附加到特定的端點通常是您使用Spring Integration進行的操作。 – chrylis 2014-10-09 17:14:03
在使用Grails完成的一個寶貴項目中,我能夠在外部文件中定義隊列等,如果它們不存在,那麼它們將被創建而不必在代碼中處理它們。 此外,交換綁定隊列可以通過配置它們來完成。示例如下:http://grails-plugins.github.io/grails-rabbitmq/docs/manual/guide/configuration.html 所以我想知道這是否也可以在Spring Boot中完成,但也許的確如此添加對我而言是新的Spring Integration。 – Marco 2014-10-09 17:28:39
你能舉一個你在用Grails做什麼的例子嗎? – chrylis 2014-10-09 17:29:52