我有一个使用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>