Grails 3.3.1 и перезагрузка бинов со свойствами, определенными в resources.groovy

У меня есть класс в src/main/groovy (ApiService.groovy). Я определяю это как пружинный бин в resources.groovy, так как у меня есть несколько реализаций.

У этого компонента есть единственное свойство:

apiService(ApiService) {
    server = '${server.address}'
}

Свойства определены во внешнем файле свойств.

Все хорошо, когда приложение запускается впервые.

Однако, если я изменю файл ApiService.groovy, свойство сервера будет пустым после перезагрузки ApiService.

Я использую следующее при запуске приложения с помощью run-app:

-reloading -Ddisable.auto.recompile = false

Я также попытался запустить Application.groovy, запустить задачу Gradle bootRun и множество других опций для перезагрузки, но безрезультатно.

Я также попытался использовать аргументы, основанные на конструкторе, используя resources.xml вместо resources.groovy, но с тем же результатом.

Кроме того, просто для тестирования я использовал аннотацию @Value для свойства сервера в самом классе, и все было хорошо после перезагрузки.

Я бегу в Intellij, но получаю то же самое поведение из командной строки.

Может быть, это не должно сработать, но любые предложения / советы будут с благодарностью сэкономить мне время на это тратить.

0 ответов

Другие вопросы по тегам