0

我有服务,我从 grailsApplication 访问几个配置属性

我像这样注入它

    class MyWebService{
       def grailsApplication
       WebService webService = new WebService()

       def getProxy(url, flag){
        return webService.getClient(url)
      }

    def getResponse(){
     def proxy =  getProxy(grailsApplication.config.grails.wsdlURL, true)
     def response = proxy.getItem(ItemType)
     return response
   }
}

当我调用 getProxy() 方法时,我在 tomcat 日志中看到了这个

方法没有签名:org.example.MyWebService.getProxy() 适用于参数类型:(groovy.util.ConfigObject, java.lang.Boolean) 值:[[:], true] 可能的解决方案:getProxy()、getProxy (java.lang.String, boolean), setProxy(java.lang.Object)

这意味着 grailsApplication 没有被注入到服务中,有没有其他方法可以访问配置对象?根据 burtbeckwith 的 post configurationholder 已被弃用,想不出别的了。

有趣的是,同样的服务在我的本地 IDE(GGTS 3.1.0)中运行良好,这意味着本地 grailsApplication 正在被注入,但是当我创建一个部署到独立 tomcat 的战争时,它会停止注入。

4

1 回答 1

0

我似乎已经找到了问题所在,实际上 grailsApplication 正在正确注入,否则它会引发空指针异常,我觉得配置属性没有被添加。实际上场景就像,我有一个单独的自定义配置文件,其中包含不同环境的配置数据,我的应用程序侦听环境类型(从 tomcat 设置的变量)并基于它合并来自我的自定义配置的相应配置属性文件。我认为这些属性可能没有被添加

于 2012-10-28T12:58:53.427 回答