Я пытаюсь настроить Spring Cloud Config для одного из моих проектов. Раньше он работал довольно хорошо. Однако с последней версией Spring у меня возникают проблемы, когда я пытаюсь включить аутентификацию. Это журнал, который я вижу.
INFO Fetching config from server at : http://localhost:8888
WARN Could not locate PropertySource: Could not extract response: no suitable HttpMessageConverter found for response type [class org.springframework.cloud.config.environment.Environment] and content type [text/html;charset=UTF-8]
INFO The following profiles are active: development
Кто-нибудь сталкивался с этой проблемой? Без аутентификации spring-cloud-config-client работает хорошо, но при включенной аутентификации basi c тот же код не работает.
Приложение Spring Cloud Config Server application.properties:
spring.application.name=my-config
server.port=8888
spring.cloud.config.server.git.uri=file:///repo/my-config
spring.security.user.name=root
spring.security.user.password=root
Клиент конфигурации Spring Cloud Bootstrap .yml:
spring.application.name=my-service
spring.profiles.active=development
spring.cloud.config.uri=http://localhost:8888
management.endpoints.web.exposure.include=*
spring.cloud.config.username=root
spring.cloud.config.password=root
И мой сервер конфигурации, и проекты служб используют одно и то же свойство версии для Spring Boot и Spring Cloud
<spring-boot.version>2.2.2.RELEASE</spring-boot.version>
<spring-cloud-config.version>2.2.0.RELEASE</spring-cloud-config.version>
====== Дополнительная информация ======
Каким-то образом проект my-service не обнаружил spring.profiles.active = конфигурацию разработки, которую я указывал по моим bootstrap .свойствам. Я подтвердил это, пытаясь вывести эту конфигурацию в моем коде.
@Value("${spring.profiles.active}")
private String activeProfile;
logger.info("Active Profile: " + activeProfile);
Странно, но вывод логгера был пустым, что означало отсутствие активного профиля. Итак, ясно, что эта конфигурация bootstrap .properties игнорируется. Чтобы обойти это, я добавил этот аргумент JVM при загрузке my-service.
-Dspring.profiles.active=development -Dspring.application.name=my-service
Это эффективно устранило проблему с обнаружением профиля. Однако я до сих пор не понимаю, почему в моих bootstrap .properties игнорируется конфигурация spring.profiles.active = развития.