Я использую ConfigurationProperties аннотацию для сопоставления некоторых значений из application.yml с классом java.Все работает нормально при использовании его с конфигурационным файлом localhost, но когда я выбираю конфигурации из облачной конфигурации, эти значения не могут быть найдены.Я предполагаю, что проблема может заключаться в том, что имя файла конфигурации может отличаться в зависимости от того, какая конфигурация выбрана, и Spring не знает, в каком файле их искать.
@Configuration
@ConfigurationProperties(prefix = "some.prefix")
public class SomeMappedConfigClass {
private String variable1;
private String variable2;
}
и yaml с конфигурациями
some.prefix:
variable1: abc
variable2: xyz
Я пытался сопоставить файл конфигурации с помощью PropertySource аннотации, но он ожидает имя файла конфигурации, которое в моем случае может отличаться.
@PropertySource("classpath:some-application.yml")
Есть ли способ передать в PropertySource текущую загруженную конфигурацию независимо от имени файла конфигурации?Журнал, который я получаю после успешной загрузки конфигурации из облачной конфигурации, для приложения: профиль веб-сервера: LOCAL
Located property source: CompositePropertySource {name='configService', propertySources=[MapPropertySource {name='file:central-config/web-server-LOCAL.yml'}]}