我使用自動配置其自己的RabbitMQ客戶端的公司Spring Boot擴展。這個擴展(起動器)取代了Spring Boot RabbitAutoConfiguration。SpringBoot在啓動時定義的多個自動配置排除項
我知道有很多方法來禁用RabbitAutoConfiguration:
- 在與@EnableAutoConfiguration每個應用(主)類(不包括= RabbitAutoConfiguration.class)或@SpringBootApplication(排除= RabbitAutoConfiguration.class)
- 在application.properties或YML文件(外在或罐子內),與spring.autoconfigure.exclude = org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration
我不知道是否有一種方式,我的新起動器存在禁用Spring Boot RabbitAutoConfiguration。
我嘗試了一些骯髒的東西,例如在公司啓動模塊中放置一個application.properties與exclude屬性,但由於Spring Boot只在類路徑中讀取一個,所以它可以很容易地被客戶端應用程序中的一個覆蓋。我不想強加一些限制。
我不喜歡每個應用程序添加相同的排除方式(屬性或註釋)的想法。
任何想法?
編輯
我需要在同一應用中配置多個RabbitMQ的ConnectionFactory
和RestTemplate
。
如果您手動配置兔子,自動配置將自動退出...無需排除它。 –
@ M.Deinum這不是我得到的行爲,因爲配置中有兩個RabbitTemplate。 RabbitAutoConfiguration不適用於多個。 –
配置上有很多'@CnditionalOnMissingBean'註釋。所以如果你已經添加了一個'RabbitTemplate'和'Connection',配置不應該做任何事情。 –