У меня есть приложение Spring Boot (использующее Java / Maven), которое использует AWS Java SDK.Я хотел бы иметь возможность обнаруживать и обрабатывать любые проблемы с моими учетными данными AWS при запуске приложения.
В настоящее время я получаю трассировку стека во время запуска, когда инициализируется контекст Spring, если (временные) учетные данные AWS устарели.Сообщение об ошибке является грязным, поскольку основной причиной может быть любой из компонентов, связанных с AWS, которые требуют аутентификации.Отказавший 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>