2011-05-13 8 views
3

GrailsでSpringエイリアスに問題があります。私はクラスと期待どおりに動作していないSpringの設定を含むライブラリ.jarファイルがあります。それは、標準(Grailsなし)のJavaアプリケーションからインポートすると、期待どおりに動作します。Grailsで実行中のSpringエイリアスがありません

現在の設定にはこれが含まれています。

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
    <property name="contextPath" value="uk.co.company.package"/> 
</bean> 

<alias name="marshaller" alias="unmarshaller"/> 

エラーで失敗します。

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'unmarshaller' is defined 

構成を次のように変更すると、正常に動作します。

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
    <property name="contextPath" value="uk.co.company.package"/> 
</bean> 
<bean id="unmarshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
    <property name="contextPath" value="uk.co.company.package"/> 
</bean> 

構成をインポート中で、読み込み中です。何らかの理由で別名を使用しようとすると使用できなくなります。その理由は何ですか?

これは、Grails 1.3.7および3.0.5を使用しています。

答えて

4

この問題もあります。

springConfig.addAlias "aliasName", "beanName" 

私はimportBeansは私が中にこれを見つけたエイリアスだけでなく

+0

これは私たちがやったことです。私が望んでいた解決策ではありませんでしたが、それは機能します。 –

1

このリンクはあなたのための役に立つかもしれません: http://burtbeckwith.com/blog/?p=85

resources.xmlの中で宣言した場合、別名は、少なくとも動作しないことが言及されています。このポストでは、エイリアスをプログラム的に宣言する方法についても触れている。しかし、この投稿は、しばらく前に書かれていて、Grails 1.3.7とどのように関連しているかわからないようです。

+1

をインポートすることを期待したい:あなたは、Grailsのresources.xmlの中や私のプラグインdoWithSpring閉鎖で私の場合には、エイリアスを定義することによって、それを回避することができます私の事前質問グーグルでは、最初のコメントは長いこと修正されたJiraの問題http://jira.grails.org/browse/GRAILS-2222にリンクしています。 –

関連する問題