关闭 Spring Boot AWS 自动配置

Jar*_*rdo 6 java spring-boot spring-cloud-aws

我正在使用spring-cloud-aws-autoconfigure:2.1.0.RELEASE连接到AWS。但是,当应用程序在 AWS 以外的环境中运行时,我不希望进行自动配置。

我尝试按照此处此处建议的java 配置类以及spring.autoconfigure.excludesyml 文件中的属性关闭自动配置,如下所示:

spring:
  autoconfigure:
    exclude:
      - org.springframework.cloud.aws.autoconfigure.context.ContextCredentialsAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextInstanceDataAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextStackAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.messaging.MessagingAutoConfiguration
Run Code Online (Sandbox Code Playgroud)

但这些解决方案似乎都不起作用。自动配置仍然发生,因此应用程序无法启动。

Mat*_*len 7

找到了解决方案:我将其直接添加到我的主应用程序类中:

import org.springframework.cloud.aws.autoconfigure.context.*;

@SpringBootApplication
@EnableAutoConfiguration(exclude = {
        ContextCredentialsAutoConfiguration.class,
        ContextInstanceDataAutoConfiguration.class,
        ContextRegionProviderAutoConfiguration.class,
        ContextResourceLoaderAutoConfiguration.class,
        ContextStackAutoConfiguration.class,
        MailSenderAutoConfiguration.class,
})
public class MyApplication {

    public static void main(String[] args) {
        SpringApplication.run(MyApplication.class, args);
    }

}
Run Code Online (Sandbox Code Playgroud)


Jar*_*rdo 4

找到解决方案:我排除了在自动配置 jar 中找到的每个类:

spring:
  autoconfigure:
    exclude:
      - org.springframework.cloud.aws.autoconfigure.cache.ElastiCacheAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextCredentialsAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextInstanceDataAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextRegionProviderAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextRegionProviderAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.context.ContextRegionProviderAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.jdbc.AmazonRdsDatabaseAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.mail.MailSenderAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.messaging.MessagingAutoConfiguration
      - org.springframework.cloud.aws.autoconfigure.metrics.CloudWatchExportAutoConfiguration
Run Code Online (Sandbox Code Playgroud)