如何在Spring Boot应用启动时验证AWS凭证?

时间:2018-12-03 12:34:20

标签: java spring amazon-web-services spring-cloud

我有一个使用AWS Java SDK的Spring Boot应用程序(使用Java / Maven)。我希望能够在应用程序启动时检测和处理我的AWS凭证的任何问题。

如果(临时)AWS凭证陈旧,则在初始化Spring上下文时,启动时我目前会得到一个堆栈跟踪。该错误消息比较混乱,因为根本原因可能是需要身份验证的任何与AWS相关的bean。失败的bean可能在依赖注入关系中有几层深。

我想在启动和捕获/处理失败期间主动执行凭据检查。我只是不知道执行此操作的优美方法。


以下是我的一些POM依赖项,供参考:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-aws</artifactId>
        <exclusions>
            <exclusion>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-ec2</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-s3</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.amazonaws</groupId>
                <artifactId>aws-java-sdk-cloudformation</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-aws-messaging</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-jms</artifactId>
    </dependency>
    <!-- 
    ...
    -->
<dependencies>

0 个答案:

没有答案