Ссылка на пользовательскую переменную конфигурации в Grails? - PullRequest
2 голосов
/ 12 октября 2011

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

Это будет использоваться для работы в сети из разных мест, и для этого потребуется маршрут к правильному месту в зависимости от того, кто его использует.

Базовая раскладка в конфиге будет выглядеть примерно так:

externalApp {
    host: "xxx.xxx.xx.xx"
    port: "xxxx"
}

Мне нужно разместить "хост" и "порт" в отдельных разделах приложения, внутри строк URL, например:

http://**externalApp.host**:**externalApp.port**

... и т.д.. Но я не могу найти простой способ ссылки на фактическую конфигурацию в файле. Есть ли простой способ сделать это?

Заранее спасибо!

1 Ответ

2 голосов
/ 12 октября 2011

Если вы просто хотите получить ссылку на эти параметры конфигурации в вашем приложении, вы можете использовать:

def host = ConfigurationHolder.config.externalApp.host
def port = ConfigurationHolder.config.externalApp.port

def url = "http://${host}:${port}"

ConfigurationHolder устарела в Grails 1.3.7, вместо этого вы должны использовать GrailsApplication. Вы можете получить ссылку на экземпляр этого класса через инъекцию зависимостей, например,

class MyController {

  def grailsApplication
}

Затем получите ссылку на вашу конфигурацию, используя:

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