В наших веб-приложениях Grails мы хотели бы использовать внешние файлы конфигурации, чтобы мы могли изменять конфигурацию, не выпуская новую версию. Мы также хотели бы, чтобы эти файлы находились за пределами каталога приложения, чтобы они оставались неизменными во время непрерывной интеграции.
Последнее, что нам нужно сделать, это убедиться, что внешние файлы конфигурации существуют. Если они этого не делают, то мы хотели бы создать их, заполнить их предопределенным содержимым (по умолчанию для производственной среды), а затем использовать их, как если бы они существовали раньше. Это позволяет любому администратору изменять настройки приложения, не зная подробно о доступных опциях.
Для этой цели в web-app/WEB-INF/conf
есть несколько файлов, которые можно скопировать во внешнее расположение конфигурации при первом запуске приложения.
Все идет нормально. Но нам нужно сделать это до того, как приложение будет инициализировано, чтобы учесть связанные с производством модификации определений источников данных.
Я могу выполнить операцию копирования и загрузки внутри файла Config.groovy
, но на данный момент я не знаю абсолютного местоположения каталога WEB-INF/conf
.
Как я могу получить местоположение на этом раннем этапе инициализации? Есть ли другое решение проблемы?