Try loading the xml files in the reverse order so the xml with the
ibmmq bean is loaded first

On Wed, Dec 9, 2015 at 12:21 AM, web_nab...@sunilsamuel.com
<web_nab...@sunilsamuel.com> wrote:
> Hello,
>
> I was able to successfully configure Apache Camel 2.12 to listen to a WMQ
> queue.  I am able to deploy it into Fuse 6.1 successfully and I get
> messages.  I am trying to create some CamelBlueprintTestSupport tests and I
> run into the following error:
>
> Failed to create route .. because of Failed to resolve endpoint: ibmmq: ..
>
> I have two XML files within the OSGI-INF/blueprint directory, namely
> queue-route.xml and wmq-config.xml as follows:
>
> queue-route.xml :
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
>
> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
>        xsi:schemaLocation="
>        http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>        http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
>
>         <camelContext id="wmqContext" trace="false"
> xmlns="http://camel.apache.org/schema/blueprint";>
>          <route id="config-wmq">
>             <from uri="ibmmq:X"/>
>             <to uri="direct-vm:logger"/>
>         </route>
>         </camelContext>
> </blueprint>
>
> wmq-config.xml:
> <?xml version="1.0" encoding="UTF-8"?>
> <blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0";
>         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> xmlns:cm="http://aries.apache.org/blueprint/xmlns/blueprint-cm/v1.1.0";
>         xsi:schemaLocation="
>        http://www.osgi.org/xmlns/blueprint/v1.0.0
> http://www.osgi.org/xmlns/blueprint/v1.0.0/blueprint.xsd
>        http://camel.apache.org/schema/blueprint
> http://camel.apache.org/schema/blueprint/camel-blueprint.xsd";>
>
>     <cm:property-placeholder id="placeholder" persistent-id="QueueConfig"/>
>
>         <bean id="connectionFactoryConfig"
> class="org.apache.camel.component.jms.JmsConfiguration">
>                 <property name="connectionFactory" 
> ref="secureConnectionFactory" />
>                 <property name="concurrentConsumers" 
> value="${concurrentConsumers}" />
>                 <property name="maxConcurrentConsumers" 
> value="${maxConcurrentConsumers}"
> />
>                 <property name="maxMessagesPerTask" 
> value="${maxMessagesPerTask}" />
>                 <property name="receiveTimeout" value="${receiveTimeout}" />
>                 <property name="idleConsumerLimit" 
> value="${idleConsumerLimit}" />
>         </bean>
>
>
>         <bean id="mqConnectionFactory"
> class="com.ibm.mq.jms.MQQueueConnectionFactory">
>                 <property name="hostName" value="${hostName}" />
>                 <property name="port" value="${port}" />
>                 <property name="queueManager" value="${queueManager}" />
>                 <property name="channel" value="${channel}"/>
>                 <property name="transportType" value="${transportType}"/>
>         </bean>
>
>         <bean id="ibmmq" class="org.apache.camel.component.jms.JmsComponent">
>                 <property name="configuration" ref="connectionFactoryConfig" 
> />
>         </bean>
>
>         <bean id="secureConnectionFactory"
>
> class="org.springframework.jms.connection.UserCredentialsConnectionFactoryAdapter">
>                 <property name="targetConnectionFactory" 
> ref="mqConnectionFactory" />
>                 <property name="username" value="${username}"/>
>                 <property name="password" value="${password}"/>
>         </bean>
> </blueprint>
>
> As you will note, the ibmmq is defined (and it in fact works perfectly in
> Fuse 6.1)
>
> In my test case, I return the two XML files from the
> getBlueprintDescriptor() as follows:
>
>         @Override
>         protected String getBlueprintDescriptor() {
>                 return
> "OSGI-INF/blueprint/queue-route.xml,OSGI-INF/blueprint/wmq-config.xml";
>         }
>
> But my test cases that extends CamelBlueprintTestSupport does not recognize
> the 'ibmmq' component.  I know that we can use context.addComponent()
> method, but I am not sure how I would do that (or IF I should do that).
> What could I be doing wrong?  Any help will be greatly appreciated.
>
> Thank You,
> Sunil
>
>
>
>
> --
> View this message in context: 
> http://camel.465427.n5.nabble.com/WMQ-CamelBlueprintTestSupport-tp5774845.html
> Sent from the Camel Development mailing list archive at Nabble.com.



-- 
Claus Ibsen
-----------------
http://davsclaus.com @davsclaus
Camel in Action 2: https://www.manning.com/ibsen2

Reply via email to