Псевдоним весны недоступен при работе в Grails - PullRequest
3 голосов
/ 13 мая 2011

У меня проблема с псевдонимами Spring в Grails.У меня есть библиотека .jar-файл, содержащий классы и конфигурацию Spring, которая не работает должным образом.Он работает, как и ожидалось, когда я импортирую их из стандартного (без Grails) Java-приложения.

Текущая конфигурация содержит это.

<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 и Spring 3.0.5.

Ответы [ 2 ]

4 голосов
/ 10 января 2012

Я тоже вижу эту проблему.Вы можете обойти это, определив псевдоним в Grails resources.xml или в моем случае в моем плагине doWithSpring closure:

springConfig.addAlias "aliasName", "beanName"

Я бы ожидал, что importBeans также импортирует псевдоним

1 голос
/ 15 мая 2011

Эта ссылка может быть полезна для вас: http://burtbeckwith.com/blog/?p=85

Там упоминается, что псевдонимы не работают, по крайней мере, когда они объявлены в resources.xml. В посте также упоминается способ объявления псевдонимов программно. Но похоже, что этот пост был написан некоторое время назад, и я не уверен, насколько он актуален для Грааля 1.3.7.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...