Grails 3.3.1并重新加载bean,其资源在resources.groovy

时间:2018-02-16 16:42:10

标签: spring reloading grails-3.3

我在src / main / groovy(ApiService.groovy)中有一个类。我在resources.groovy中将其定义为spring bean,因为我有多个实现。

此bean有一个属性:

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

属性在外部属性文件中定义。

首次启动应用程序时一切正常。

但是,如果我更改文件ApiService.groovy,则在重新加载ApiService后服务器属性为null。

使用run-app启动应用时,我正在使用以下内容:

-reloading -Ddisable.auto.recompile = false

我也尝试运行Application.groovy,运行Gradle任务bootRun以及其他许多重新加载选项,但无济于事。

我也尝试过使用基于构造函数的args,使用resources.xml而不是resources.groovy但结果相同。

另外,仅仅为了测试,我在类本​​身的服务器属性中使用@Value注释,重新加载后一切都很好。

我在Intellij中运行,但从命令行运行相同的行为。

也许这不应该真正奏效,但任何建议/建议都会非常感激,以免我花费更多时间。

0 个答案:

没有答案