是否可以通过配置文件禁用Spring Boot的自动配置?

时间:2015-05-09 14:00:58

标签: spring-boot

我正在研究如何修改基于Spring Boot的服务,以便它们可以在本地和AWS上运行。我们已经知道我们可以将Docker容器推送到任何我们想要的地方并以这种方式运行。理想情况下,我正在寻找的是能够在可用时利用可用的AWS功能。例如,在本地我们使用RabbitMQ进行消息传递。如果部署在AWS上,我们希望使用SQS。我已经知道如何通过配置文件有条件地启用/禁用bean,因此我们可以简单地动态交换消息传递网关bean。 RabbitMQ自动配置带来了挑战。在AWS中运行时,我需要spring-boot-starter-amqp附带的所有位进入休眠状态,而不是抱怨无法找到RabbitMQ实例。这是可能做的还是我注定要针对特定​​环境设置两个独立的构建?我可以使用稍微更胖的JAR文件来换取更简单的构建。

1 个答案:

答案 0 :(得分:3)

您应该可以通过将@EnableAutoConfiguration(exclude=RabbitAutoConfiguration.class)添加到AWS特定配置配置文件来执行此操作。