我正在使用 doWithSpring() 向我的应用程序文件添加一个特定于 URL 的运行状况检查。
我在 environment.properties 文件中指定了 URL,并将其加载到“grailApplication.config”中。
我的问题是'grailsApplication' 和'config' 还没有被初始化。
如何获取将位于这些变量中的值。
我可以将运行状况检查创建移动到 doWithApplicationContext() 吗?
最佳答案
您可以使用 GrailsConfigurationAware 接口(interface)让 grails 将 grails 配置对象注入(inject)到 spring bean 中。
示例代码
class HealthChecker implements GrailsConfigurationAware {
def checkUrlHealth() {
}
@Override
void setConfiguration(Config config) {
// TODO with grails configurations
}
}
然后通过编辑 conf/resources.groovy 将其注册为 spring bean
import chess_api.HealthChecker
// Place your Spring DSL code here
beans = {
healthChecker(HealthChecker)
}
然后在spring初始化grails和你的bean之后,将使用grails配置调用“setConfiguration”方法。
请注意,此方法不适用于服务,您必须显式注册 spring bean。
关于spring - 在 Application.doWithSpring() 中访问环境属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61530270/