Как я могу сослаться на один файл свойств из другого файла свойств в весенней конфигурации облака - PullRequest
0 голосов
/ 29 марта 2019

Я должен реализовать конфигурацию Spring Cloud для существующего проекта, где у меня есть сценарий использования для обработки. Здесь некоторые файлы свойств упоминаются другими файлами свойств, такими как logging.propFile = classpath: /cfg/xyz.properties, и эти файлы свойствиспользуется в нескольких местах, таких как

Properties property = new Properties ();property.load (новый FileInputStream (propsPath));logger = somefactory.createfactory (property.get ("logging.propFile"));и это фабричное создание определено в другой банке.

Если я переместлю все файлы свойств в файлах git-репо, о которых я упоминал, они не будут доступны в пути к классам, и если я пойду за изменением кода, потребуется много изменений в коде. Это лучший способ справиться с этой ситуацией.Есть ли способ ссылаться на один файл свойств на другой в весеннем облачном конфиге.

1 Ответ

0 голосов
/ 08 апреля 2019

Сервер Spring Cloud Config позволяет читать статические файлы через HTTP.Таким образом, вы можете поместить ваш файл свойств ссылок в репозиторий git конфигурации и ссылаться на них через http://<configserver_url>/*/*/<branch_name>/xyz.properties.Это работает только тогда, когда ваш код может обрабатывать URL-адреса, поэтому FileInputStream в вашем примере этого не сделает.

См. https://cloud.spring.io/spring-cloud-config/multi/multi__serving_alternative_formats.html и https://cloud.spring.io/spring-cloud-config/multi/multi__serving_plain_text.html.

Также обратите внимание на resolvePlaceholders параметр запроса, по умолчанию true.

Мы используем его для сохранения нашей конфигурации logback.xml на сервере конфигурации, установив logging.config: http://<configserver_url/*/*/master/logback.xml?resolvePlaceholders=false

...