我正在开发一个公司的Spring Boot扩展,它可以自动配置自己的RabbitMQ客户端。此扩展(启动器)取代了Spring Boot RabbitAutoConfiguration。
我知道有很多方法可以禁用RabbitAutoConfiguration:
我想知道我的新启动器的存在是否会禁用Spring Boot RabbitAutoConfiguration。
我尝试了一些脏东西,例如在公司启动程序模块中放置带有exclude属性的application.properties,但由于Spring Boot只读取类路径中的一个,因此可以通过客户端应用程序中使用的方法轻松覆盖它。我不想强加一些限制。
我不喜欢每个应用程序添加相同排除方式(属性或注释)的想法。
有什么想法吗?
修改
我需要在同一个应用程序中配置几个RabbitMQ ConnectionFactory
和RestTemplate
。
答案 0 :(得分:2)
如果您想真正替换您的标准RabbitAutoConfiguration
,您只需在自己的自动配置中添加@AutoconfigureBefore(RabbitAutoConfiguration.class)
即可教导Spring Boot在标准版之前处理您的。{/ p >
如果它是替代品,您将注册标准自动配置将检测到的bean,并且它将以与您手动定义它们相同的方式退回。
话虽如此,你为什么要这样做?我宁愿补充现有的自动配置,而不是替换标准的自动配置。标准版有问题吗?如果是这样,我们很乐意听到它并调整代码,以便您不必完全替换它。