Аргумент конструктора массива Spring bean

У меня проблема с конфигурацией пружинного компонента (r3.2.2). Приложение работает на WebLogic 10.3.5 и при запуске проекта я получаю следующее в приведенной ниже трассировке стека. При чтении некоторых других постов должен быть возможен конструктор массива.

У кого-нибудь есть идея, почему я получаю эту трассировку стека?

Спасибо

Bean 'union.marshaller'
    -> Constructor-arg
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:68)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.error(BeanDefinitionParserDelegate.java:288)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:490)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:389)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseBeanDefinitionElement(BeanDefinitionParserDelegate.java:358)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.processBeanDefinition(DefaultBeanDefinitionDocumentReader.java:239)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:153)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:132)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:92)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:507)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:398)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:342)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:310)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:143)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:178)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:174)
    ... 61 more
Caused by: org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Unknown property sub-element: [array]

Моя конфигурация xml:

   <!-- custom marshaller to make union of 2 interfaces -->
    <bean id="union.marshaller" class="be.test.jaxb.MergedJaxb2Marshaller">
        <constructor-arg>
            <array>
                <ref bean="m1.marshaller"/>
                <ref bean="m2.marshaller"/>
                <ref bean="m3.marshaller"/>
            </array>
        </constructor-arg>
    </bean>

Мои занятия:

package be.test.jaxb;

import org.springframework.oxm.jaxb.Jaxb2Marshaller;
import org.springframework.util.Assert;

public class MergedJaxb2Marshaller
  extends Jaxb2Marshaller
{
  private static final String COLON = ":";

  public MergedJaxb2Marshaller(Jaxb2Marshaller... marshallers)
  {
    Assert.notNull(marshallers, "marshallers not valid [null]");
    setContextPath(toMergedContextPath(marshallers));
  }

  private String toMergedContextPath(Jaxb2Marshaller... marshallers)
  {
    Assert.notNull(marshallers, "marshallers not valid [null]");
    StringBuilder sb = new StringBuilder();
    for (int i = 0; i < marshallers.length; i++) {
      if (i == 0) {
        sb.append(marshallers[i].getContextPath());
      } else {
        sb.append(":").append(marshallers[i].getContextPath());
      }
    }
    return sb.toString();
  }
}

Я уже пытался использовать список при публикации этой проблемы ( Объявление массива объектов в контексте bean-компонента Spring). Но тогда я получаю следующее:

Вызывается: java.lang.NoSuchMethodError: org.springframework.util.xml.DomUtils.getChildElements(Lorg/w3c/dom/Element;)Ljava/util/List; в org.springframework.ws.config.InterceptorsBeanDefinitionParser.parse(InterceptorsBeanDefinitionParser.java:52)

0 ответов

Другие вопросы по тегам