Make sure the JMS api jar is available and in one version only
29. jul. 2015 00.07 skrev "VijaySathya" <[email protected]>:

> I get the following error when my server starts ( and tries to initialize
> the
> spring beans - I have a main camel context spring based config file, which
> imports 3 other spring config files. In one of the files, I define JMS
> beans
> including Connection Factories. That is where I am having issues.):
>
> I get the following error:
>
> Initialization of bean failed; nested exception is
> org.springframework.beans.ConversionNotSupportedException: Failed to
> convert
> property value of type 'com.ibm.mq.jms.MQConnectionFactory' to required
> type
> 'javax.jms.ConnectionFactory' for property 'connectionFactory'; nested
> exception is java.lang.IllegalStateException: Cannot convert value of type
> [com.ibm.mq.jms.MQConnectionFactory] to required type
> [javax.jms.ConnectionFactory] for property 'connectionFactory': no matching
> editors or conversion strategy found
>
>
> Will appreciate any help to resolve this. Thanks.
>
> More Details:
> =========
>
>
> I have a Camel based solution deployed as a war file in tomcat.
>
> My context file has a route that listens to a IBM Websphere JMS Queue and
> routes  the message (SOAP over JMS) to a SOAP web service on a destination
> server.
>
> The  camel context fragment is as below:
>
> <?xml version="1.0" encoding="UTF-8"?>
>
>
> <beans xmlns="http://www.springframework.org/schema/beans";
>     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:context="http://www.springframework.org/schema/context";
>     xmlns:amq="http://activemq.apache.org/schema/core";
> xmlns:camel="http://camel.apache.org/schema/spring";
>     xmlns:p="http://www.springframework.org/schema/p";
>     xsi:schemaLocation="
>        http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
>        http://www.springframework.org/schema/context
> http://www.springframework.org/schema/context/spring-context.xsd
>        http://activemq.apache.org/schema/core
> http://activemq.apache.org/schema/core/activemq-core.xsd
>        http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd
>     ">
>         <import resource="spring-bean-router-components.xml"/>
>         <import resource="spring-bean-common-translators.xml" />
>         <import resource="spring-context-jms-resources.xml" />
>
>
>
>
>         <camelContext
>                                         xmlns="
> http://camel.apache.org/schema/spring";
>                                         xmlns:soapenv="
> http://schemas.xmlsoap.org/soap/envelope/";
>
>         >
>
>                  <propertyPlaceholder id="properties"
> location="file:${env:ASB_HOME}/asb-configuration.properties"/>
>
>
>               <errorHandler id="asbDefaultEH" type="DefaultErrorHandler" >
>                 <redeliveryPolicy maximumRedeliveries="2"
> redeliveryDelay="1000"
>                         retryAttemptedLogLevel="WARN"/>
>
>               </errorHandler>
>
>
>               <errorHandler id="asbDLQErrorHandler"
> type="DeadLetterChannel"
>               deadLetterUri="direct:asbDLC" useOriginalMessage="true"/>
>
>
>
>
>
>
>             <route id="jmsRouteForMQ">
>             <from uri="wmq:queue:testQueue?preserveMessageQos=true" />
>              <to uri="direct:processJmsToSoap"/>
>         </route>
>
>              <route id="routeJmsToSoap"
> errorHandlerRef="asbDLQErrorHandler">
>                     <from uri="direct:processJmsToSoap"/>
>
>                     <log message="Route message from in queue to out queue
> with data
> ${body}" />
>
>                 <setHeader headerName="sender">
>                         <simple>${headers[sender]}</simple>
>                         </setHeader>
>                         <log message="Sender is=  ${header.sender} reply
> to=
> ${headers[JMSReplyTo]} "/>
>                         <setHeader headerName="httpPath">
>                         <simple>${headers[webContext]}</simple>
>                         </setHeader>
>                         <setHeader headerName="serviceEndPoint">
>                         <simple>${headers[serviceEndPoint]}</simple>
>                         </setHeader>
>
>             <process ref="jMSTextMessageToSoapMessageConverterProcessor" />
>             <setHeader headerName="serviceName">
>                           <xpath resultType="java.lang.String">
>                             local-name(//soapenv:Body/*[1])
>                           </xpath>
>                         </setHeader>
>
>
>
>
>
>             <process ref="jmsToSoapUriSelectorProcessor"/>
>
>
>
>
>
>
>             <log message="Invoking recipient list with header value:
> ${header.serviceUri}"/>
>
>             <recipientList ignoreInvalidEndpoints="true">
>                         <header>serviceUri</header>
>                 </recipientList>
>
>
>
>                 <process ref="webServiceResponseProcessor"/>
>                 <wireTap uri="direct:responseTap"/>
>
>
>                 </route>
>
>
>             <route>
>                   <from uri="direct:asbDLC"/>
>                   <log logName="CamelDLCErrorNotifications"
> loggingLevel="ERROR"
>                             message="Exception from notification Camel
> route - Message
> Failed due to errors- Did not process" />
>
>                   <process ref="deadLetterPreProcessor"/>
>                   <to uri="jms:queue:deadLetters"/>
>                 </route>
>
>
>
>
>
>
>
>   </camelContext>
>
> </beans>
>
> The imported spring-context-jms-resources.xml file has the following
> fragment in it's definition:
>
>         <bean id="wmq" class="org.apache.camel.component.jms.JmsComponent">
>           <property name="connectionFactory" ref ="wmqCf">
>
>           </property>
>         </bean>
>
>         <bean id="wmqCf" class="com.ibm.mq.jms.MQConnectionFactory">
>                 <property name="queueManager" value="XKOBIE_QMDEV01" />
>                 <property name="hostName" value="STPDQBBY01" />
>                 <property name="port" value="1414" />
>                 <property name="channel" value="JAVA.DEF.SVRCONN" />
>
>                 <property name="transportType" value="1"/>
>         </bean>
>
> I use maven to build and I build my war successfully and deploy to tomcat.
>
> when I start tomcat, i get the following error:
>
> org.springframework.beans.factory.BeanCreationException: Error creating
> bean
> with name 'wmq' defined in class path resource
> [spring-context-jms-resources.xml]: Initialization of bean failed; nested
> exception is org.springframework.beans.ConversionNotSupportedException:
> Failed to convert property value of type
> 'com.ibm.mq.jms.MQConnectionFactory' to required type
> 'javax.jms.ConnectionFactory' for property 'connectionFactory'; nested
> exception is java.lang.IllegalStateException: Cannot convert value of type
> [com.ibm.mq.jms.MQConnectionFactory] to required type
> [javax.jms.ConnectionFactory] for property 'connectionFactory': no matching
> editors or conversion strategy found
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:547)
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:476)
>         at
>
> org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:303)
>         at
>
> org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
>         at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:299)
>         at
>
> org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
>         at
>
> org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:755)
>         at
>
> org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:757)
>         at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:480)
>         at
>
> org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:403)
>         at
>
> org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:306)
>         at
>
> org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:106)
>         at
>
> org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)
>         at
>
> org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
>         at
> org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
>         at
>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1408)
>         at
>
> org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1398)
>         at java.util.concurrent.FutureTask.run(FutureTask.java:262)
>         at
>
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
>         at
>
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
>         at java.lang.Thread.run(Thread.java:745)
> Caused by: org.springframework.beans.ConversionNotSupportedException:
> Failed
> to convert property value of type 'com.ibm.mq.jms.MQConnectionFactory' to
> required type 'javax.jms.ConnectionFactory' for property
> 'connectionFactory'; nested exception is java.lang.IllegalStateException:
> Cannot convert value of type [com.ibm.mq.jms.MQConnectionFactory] to
> required type [javax.jms.ConnectionFactory] for property
> 'connectionFactory': no matching editors or conversion strategy found
>         at
>
> org.springframework.beans.BeanWrapperImpl.convertIfNecessary(BeanWrapperImpl.java:476)
>         at
>
> org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:512)
>         at
>
> org.springframework.beans.BeanWrapperImpl.convertForProperty(BeanWrapperImpl.java:506)
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.convertForProperty(AbstractAutowireCapableBeanFactory.java:1523)
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1482)
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1222)
>         at
>
> org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537)
>         ... 20 more
>
>
>
>
>
>
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/MQConnectionFactory-Error-tp5770036.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>

Reply via email to