Могу ли я использовать groovy в приложении фреймворка play.conf? - PullRequest
1 голос
/ 21 марта 2012

Я видел в этот комментарий и в других местах намекает, что есть способ использовать groovy теги в application.conf для создания более динамической конфигурации, но я не видел никакой реальной документации, описывающей это.

В частности, меня интересует настройка переменных конфигурации в соответствии с именем хоста и свойствами системы.

Как я могу это сделать?

1 Ответ

2 голосов
/ 22 марта 2012

Итак, я наконец-то посмотрел на код , который читает файл conf .Поддержка groovy-тегов минимальна и в основном допускает следующее использование:

  • ${application.path} интерполируется как текущий базовый путь приложения
  • ${play.path} интерполируется как игровая средабазовый путь
  • Любая другая строка в форме ${key} проверяется по системным свойствам и, если она недоступна, проверяется по переменным среды

Это может использоваться вместе с@include функциональность для достижения моего варианта использования, например:

  • В каталоге conf у меня есть обычные application.conf, а также specific/dev001.conf, specific/test001.conf, specific/prod001.conf и т. д.. Каждый из определенных файлов содержит конфигурацию для определенного хоста.
  • В application.conf У меня есть строка с надписью @include.hostspecific=specific/${HOSTNAME}.conf
  • Перед запуском play run Я должен установить HOSTNAMEпеременная окружения.

В Linux + bash:

export HOSTNAME=$(uname -n)
play run

В Windows:

FOR /F "usebackq" %i IN (`hostname`) DO SET HOSTNAME=%i
play run

Обратите внимание, что воспроизведение не будет загружаться, если отсутствует включаемый файлтак что теперь мне нужен файл confдля каждой машины, на которой я ее запускаю.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...