grailsApplication没有注入服务,Grails 2.1.0

时间:2012-10-28 10:55:12

标签: service configuration code-injection grails-2.1

我有服务,我从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)values:[[:],true] 可能的解决方案:getProxy(),getProxy(java.lang.String,boolean),setProxy(java.lang.Object)

这意味着grailsApplication没有注入服务,有没有其他方法来访问配置对象?根据burtbeckwith的帖子配置文件已被弃用,无法想到其他任何内容。

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

1 个答案:

答案 0 :(得分:0)

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