Spring integration 添加JMS通道适配器时链组件异常

Spring integration 添加JMS通道适配器时链组件异常,spring-integration,Spring Integration,我试图创建一个包含jms驱动的通道适配器的链,作为链中的第一步,但是它抛出以下异常。如果我把它从链条上取下来,它会工作的。jms通道适配器是否可以位于链组件中 <?xml version="1.0" encoding="UTF-8"?> <beans:beans xmlns="http://www.springframework.org/schema/integration" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

我试图创建一个包含jms驱动的通道适配器的链,作为链中的第一步,但是它抛出以下异常。如果我把它从链条上取下来,它会工作的。jms通道适配器是否可以位于链组件中

<?xml version="1.0" encoding="UTF-8"?>
<beans:beans xmlns="http://www.springframework.org/schema/integration"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:int="http://www.springframework.org/schema/integration"
    xmlns:beans="http://www.springframework.org/schema/beans"
    xmlns:jms="http://www.springframework.org/schema/integration/jms"
    xmlns:stream="http://www.springframework.org/schema/integration/stream"
    xmlns:oxm="http://www.springframework.org/schema/oxm"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
            http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/integration
            http://www.springframework.org/schema/integration/spring-integration.xsd
            http://www.springframework.org/schema/integration/jms
            http://www.springframework.org/schema/integration/jms/spring-integration-jms.xsd
            http://www.springframework.org/schema/integration/stream
            http://www.springframework.org/schema/integration/stream/spring-integration-stream.xsd
            http://www.springframework.org/schema/oxm
            http://www.springframework.org/schema/oxm/spring-oxm-3.0.xsd">




    <channel id="jmsInChannel">
        <int:queue/>
    </channel>

    <beans:bean id="messageListener" class="spring.integration.mq.DemoBean" />


     <int:chain input-channel="jmsInChannel" >
            <jms:message-driven-channel-adapter id="jmsIn"
            destination="requestQueue" 
            error-channel="errorChannel" />

            <int:service-activator 
            ref="messageListener" method="upperCase"/>

        <int:splitter/>

        <jms:outbound-channel-adapter 
            id="outboundChannel"
            destination="outbound" 
            message-converter="oxmMessageConverter">
    </jms:outbound-channel-adapter>

     </int:chain>
</beans:beans>

例外情况:

Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.integration.handler.MessageHandlerChain#0': Initialization of bean failed; nested exception is org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.util.ArrayList] to required type [java.util.List] for property 'handlers'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.jms.JmsMessageDrivenEndpoint] to required type [org.springframework.messaging.MessageHandler] for property 'handlers[0]': no matching editors or conversion strategy found
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:197)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:172)
    at spring.integration.mq.Main_MQGateway.main(Main_MQGateway.java:53)
Caused by: org.springframework.beans.ConversionNotSupportedException: Failed to convert property value of type [java.util.ArrayList] to required type [java.util.List] for property 'handlers'; nested exception is java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.jms.JmsMessageDrivenEndpoint] to required type [org.springframework.messaging.MessageHandler] for property 'handlers[0]': no matching editors or conversion strategy found
    at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:591)
    at org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:603)
    at org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:204)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1527)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1486)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
    ... 11 more
Caused by: java.lang.IllegalStateException: Cannot convert value of type [org.springframework.integration.jms.JmsMessageDrivenEndpoint] to required type [org.springframework.messaging.MessageHandler] for property 'handlers[0]': no matching editors or conversion strategy found
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:302)
    at org.springframework.beans.TypeConverterDelegate.convertToTypedCollection(TypeConverterDelegate.java:570)
    at org.springframework.beans.TypeConverterDelegate.convertIfNecessary(TypeConverterDelegate.java:216)
    at org.springframework.beans.AbstractNestablePropertyAccessor.convertIfNecessary(AbstractNestablePropertyAccessor.java:576)
    ... 17 more
线程“main”org.springframework.beans.factory.BeanCreationException中的异常:创建名为“org.springframework.integration.handler.MessageHandlerChain#0”的bean时出错:初始化bean失败;嵌套异常为org.springframework.beans.ConversionNotSupportedException:未能将[java.util.ArrayList]类型的属性值转换为属性“handlers”所需的[java.util.List]类型;嵌套异常为java.lang.IllegalStateException:无法将[org.springframework.integration.jms.JmsMessageDrivenEndpoint]类型的值转换为属性“handlers[0]”所需的[org.springframework.messaging.MessageHandler]类型:未找到匹配的编辑器或转换策略 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482) 位于org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) 位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) 位于org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) 位于org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) 位于org.springframework.beans.factory.support.DefaultListableBeanFactory.PreInstanceSingleton(DefaultListableBeanFactory.java:772) 位于org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839) 位于org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:197) 位于org.springframework.context.support.ClassPathXmlApplicationContext。(ClassPathXmlApplicationContext.java:172) 位于spring.integration.mq.Main_MQGateway.Main(Main_MQGateway.java:53) 原因:org.springframework.beans.ConversionNotSupportedException:未能将[java.util.ArrayList]类型的属性值转换为属性“handlers”所需的[java.util.List]类型;嵌套异常为java.lang.IllegalStateException:无法将[org.springframework.integration.jms.JmsMessageDrivenEndpoint]类型的值转换为属性“handlers[0]”所需的[org.springframework.messaging.MessageHandler]类型:未找到匹配的编辑器或转换策略 位于org.springframework.beans.AbstractNestablePropertyAccessor.ConvertifEssential(AbstractNestablePropertyAccessor.java:591) 位于org.springframework.beans.AbstractNestablePropertyAccessor.convertForProperty(AbstractNestablePropertyAccessor.java:603) 位于org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:204) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1527) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1486) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1226) 位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543) ... 还有11个 原因:java.lang.IllegalStateException:无法将[org.springframework.integration.jms.JmsMessageDrivenEndpoint]类型的值转换为属性“handlers[0]”所需的[org.springframework.messaging.MessageHandler]类型:未找到匹配的编辑器或转换策略 位于org.springframework.beans.TypeConverterDelegate.ConvertifRequired(TypeConverterDelegate.java:302) 位于org.springframework.beans.TypeConverterDelegate.convertToTypedCollection(TypeConverterDelegate.java:570) 在org.springframework.beans.TypeConverterDelegate.ConvertifEssential上(TypeConverterDelegate.java:216) 位于org.springframework.beans.AbstractNestablePropertyAccessor.ConvertifEssential(AbstractNestablePropertyAccessor.java:576) ... 还有17个 不,它不能:。 通过参考URL链接关注讨论

表示接受消息并对其进行处理的
消费者
组件

老实说,我们不想再做任何特定于XML的艰苦工作了。随着Spring Boot时代的到来,世界已经转向Java&Annotation配置

这个问题填补了这个空白。

不,它不能:。 通过参考URL链接关注讨论

表示接受消息并对其进行处理的
消费者
组件

老实说,我们不想再做任何特定于XML的艰苦工作了。随着Spring Boot时代的到来,世界已经转向Java&Annotation配置


这个问题填补了这个空白。

我在java 6上运行的是7。仍然主要是xml。还没有跳转到推荐Java8的SpringBoot。是的,我在Java6上运行的是7。仍然主要是xml。还没有跳转到推荐Java8的spring引导。