Spring загрузил конфиг. Но победил другой
Вчера в Spring АйО попался разбор spring.config.import. Хороший повод вспомнить, почему правишь application.yml, а приложение продолжает жить со старым значением.
Например:
server.port=8080 spring.config.import=file:./extra.properties
Если в extra.properties стоит server.port=8081, победит 8081: импортированный файл важнее того, который его подключил.
Но запусти приложение с --server.port=9090 — и будет уже 9090. Аргумент командной строки важнее обоих файлов.
А если импортов несколько, при совпадении ключей выигрывает более поздний. Одно свойство, несколько мест, где его можно задать. И каждое выглядит вполне убедительно, пока смотришь только на него.
Для таких случаев в документации прямо предлагают смотреть env и configprops в Actuator. Откуда взялось значение и что в итоге привязалось к настройкам.
В общем, прежде чем в третий раз править YAML, полезно найти источник, который реально победил.