首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在grails服务中cxf-bean / client的依赖注入不起作用--可能是因为它是在我的插件config.groovy中配置的?

在grails服务中cxf-bean / client的依赖注入不起作用--可能是因为它是在我的插件config.groovy中配置的?
EN

Stack Overflow用户
提问于 2013-03-12 18:48:49
回答 1查看 727关注 0票数 0

我正在为grails框架开发一个支付插件。我使用的是一个支付提供商,它给了我一个SOAP API (WSDL),我需要一个cxf-client来与the服务通信。

我在grails插件项目(2.2)中安装了https://github.com/ctoestreich/cxf-client (cxf-client plugin),并希望在grails服务中使用我添加到config.groovy中的cxf-client。

在我刚刚添加的Service Class中

代码语言:javascript
复制
RecurringPortType recurringPaymentClient

我没有直接启动插件项目,而是将它包含在我的主项目中,在主项目中我使用了插件服务的一些方法(也自动连接到我的主项目中)。

在使用自动连接的插件服务(可以工作)之后,我在插件服务类中使用了自动连接的cxf-client方法,得到了一个空指针异常。cxf-client bean reuccringPaymentClient为空。

但是为什么呢?我是否必须将cxf-client配置也包含到我的主项目config.groovy中?或者有没有一个解决方案,我的主项目可以合并,或者也可以使用我的新插件的config.groovy?此时,cxf- config.groovy被放在插件配置中--也许这就是问题所在?

使用

代码语言:javascript
复制
RecurringPortType recurringPaymentClient = ApplicationHolder.application.mainContext.getBean("recurringPaymentClient")

正如cxf-client文档中所述,它没有帮助。

EN

回答 1

Stack Overflow用户

发布于 2013-03-12 19:41:59

插件中的Config.groovy文件仅在插件本身作为独立应用程序运行时才适用。当插件在另一个应用程序中使用时,它不会被读取。我见过一些插件使用的一个技巧(我为我自己的一个插件偷来的)是操纵插件描述符的doWithSpring中的配置,这通常足够早来达到所需的效果。在您的情况下,您必须使您的插件loadBefore cxf-client插件,以确保您的doWithSpring (创建配置)发生在cxf-client (将使用设置的地方)之前。

代码语言:javascript
复制
class MyCleverGrailsPlugin {
  def version = "0.1-SNAPSHOT"

  def loadBefore = ['cxfClient']

  def doWithSpring = {
    application.config.cxf.client.recurringPaymentClient.clientInterface = com.example.MyClientPortType
    // etc. etc.
  }
}

或者,您可以手动使用ConfigSlurper

代码语言:javascript
复制
def doWithSpring = {
  ConfigObject pluginConf = new ConfigSlurper(Environment.current.name).parse(com.example.MyPluginDefaultConfig)
  application.config.cxf = pluginConf.cxf.merge(application.config.cxf)
}

这将从插件的src/groovy/com/example/MyPluginDefaultConfig.groovy加载Config.groovy-style脚本,并将该配置的cxf部分合并到主应用程序配置的cxf部分,其中应用程序中的设置将覆盖插件提供的默认值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15359140

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档