Доступ к свойствам среды в Application.doWithSpring () - PullRequest
0 голосов
/ 30 апреля 2020

Я добавляю URL, указывающий c проверку работоспособности, в мой файл приложения, используя doWithSpring (). У меня есть URL, указанный в файле environment.properties, и он загружен в 'grailApplication.config.'

Моя проблема в том, что 'grailsApplication' и 'config' еще не были инициализированы. Как мне получить значения, которые будут находиться в этих переменных.

Можно ли переместить создание проверки работоспособности в doWithApplicationContext ()?

1 Ответ

0 голосов
/ 01 мая 2020

Вы можете использовать интерфейс GrailsConfigurationAware, чтобы позволить Grails вводить объект конфигурации Grails в Spring Bean.

Пример кода

class HealthChecker implements GrailsConfigurationAware {

    def checkUrlHealth() {
    }

    @Override
    void setConfiguration(Config config) {
        // TODO with grails configurations
    }
}

И затем зарегистрировать его как Spring Bean, отредактировав conf / resources. groovy

import chess_api.HealthChecker

// Place your Spring DSL code here
beans = {
    healthChecker(HealthChecker)
}

Затем после весенней инициализации grails и вашего компонента будет вызываться метод setConfiguration с конфигурациями grails.

Помните, что этот метод не будет работать для службы, Вы должны явно зарегистрировать пружинный боб.

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