You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@camel.apache.org by Magnus Palmér <ma...@gmail.com> on 2013/04/08 21:26:38 UTC

Re: Error when using Camel write to Websphere MQ

A bit late answer but your question seems unanswered:

Yes, it is possible and almost had it.
You will need to use the "wmq-qm1" and "wmq-qm2" in the URI or change the
beanID in the JmsComponents declarations, for instance:
from("wmq-qm1:GURU.DG").to("wmq-qm2:JBOSS.DG");
Or:
 <bean id="wmq-sidev" class="org.apache.camel.component.jms.JmsComponent">
 <bean id="wmq-brkdev" class="org.apache.camel.component.jms.JmsComponent">

And as Claus stated you seem to have mixed up the IBM jars.

Using Maven I recommend this approach (it works just fine, the
com.ibm.mqjms.jar has declared it's transient dependencies in the manifest
file, you should never bundle the MQ jars with you app, but use a proper
server or client installation)
* <!-- WMQ, use an installed client with Java libs!!! -->
        <dependency>
           <groupId>com.ibm.mq</groupId>
           <artifactId>mqjms</artifactId>
           <version>7.0.1.x</version>
           <scope>system</scope>
           <systemPath>${MQ_JAVA_INSTALL_PATH}/lib/com.ibm.mqjms.jar</systemPath>
        </dependency>*
*
*

*
*


2013/2/19 sguruprasanna <s....@gmail.com>

> I am new to Camel,  as a proof of concept, I am trying to read from a
> Websphere MQ queue and write to another queue. The queues exist on two
> different queue managers.
>
> Below is my is my route configuration:
>
>
> <beans xmlns="http://www.springframework.org/schema/beans"
>        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>        xsi:schemaLocation="
>          http://www.springframework.org/schema/beans
> http://www.springframework.org/schema/beans/spring-beans.xsd
>          http://camel.apache.org/schema/spring
> http://camel.apache.org/schema/spring/camel-spring.xsd">
>
>   <camelContext id="camel" xmlns="http://camel.apache.org/schema/spring">
>     <package>org.apache.camel.example.spring</package>
>   </camelContext>
>
>         <bean id="wmq-qm2"
> class="org.apache.camel.component.jms.JmsComponent">
>           <property name="connectionFactory">
>             <bean class="com.ibm.mq.jms.MQConnectionFactory">
>                 <property name="transportType" value="1"/>
>                 <property name="hostName" value="host2"/>
>                 <property name="port" value="1414"/>
>                 <property name="channel" value="TO.QM2.SVRCONN"/>
>                 <property name="queueManager" value="QM2"/>
>             </bean>
>           </property>
>         </bean>
>
>
>         <bean id="wmq-qm1"
> class="org.apache.camel.component.jms.JmsComponent">
>           <property name="connectionFactory">
>             <bean class="com.ibm.mq.jms.MQConnectionFactory">
>                 <property name="transportType" value="1"/>
>                 <property name="hostName" value="host1"/>
>                 <property name="port" value="2414"/>
>                 <property name="channel" value="TO.QM1.SVRCONN"/>
>                 <property name="queueManager" value="QM1"/>
>             </bean>
>           </property>
>         </bean>
> </beans>
>
>
>
> Below is the RouteBuilder java file:
>
>
> public class MyRouteBuilder extends RouteBuilder {
>
>     /**
>      * Allow this route to be run as an application
>      */
>     public static void main(String[] args) throws Exception {
>         new Main().run(args);
>     }
>
>     public void configure() {
>         // populate the message queue with some messages
>         //from("file:src/data").
>                 //to("wmq-brkdev:GURU.DG");
>
>        from("wmq-sidev:GURU.DG").
>         to("wmq-brkdev:JBOSS.DG");
>
>         //from("wmq:test.MyQueue").
>                 //to("file://target/test?noop=true");
>
>         // set up a listener on the file component
>         //from("file://target/test?noop=true").
>                 //bean(new SomeBean());
>     }
>
>     public static class SomeBean {
>
>         public void someMethod(String body) {
>             System.out.println("Received: " + body);
>         }
>     }
>
> }
>
>
> I get the following exception.. Is it possible to do what I am trying to do
> in camel?
>
> Exception in thread "main" java.lang.NoSuchMethodError:
>
> com.ibm.mq.jmqi.JmqiEnvironment.getFlightRecorder()Lcom/ibm/mq/jmqi/monitoring/FlightRecorder;
>         at
>
> com.ibm.msg.client.wmq.internal.WMQConnection.start(WMQConnection.java:2111)
>         at
>
> com.ibm.msg.client.jms.internal.JmsConnectionImpl.start(JmsConnectionImpl.java:773)
>         at com.ibm.mq.jms.MQConnection.start(MQConnection.java:437)
>         at
>
> org.springframework.jms.listener.AbstractJmsListeningContainer.startSharedConnection(AbstractJmsListeningContainer.java:440)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer.startSharedConnection(DefaultMessageListenerContainer.java:764)
>         at
>
> org.springframework.jms.listener.AbstractJmsListeningContainer.doStart(AbstractJmsListeningContainer.java:290)
>         at
>
> org.springframework.jms.listener.AbstractJmsListeningContainer.start(AbstractJmsListeningContainer.java:263)
>         at
>
> org.springframework.jms.listener.DefaultMessageListenerContainer.start(DefaultMessageListenerContainer.java:555)
>         at
>
> org.apache.camel.component.jms.JmsConsumer.startListenerContainer(JmsConsumer.java:84)
>         at
> org.apache.camel.component.jms.JmsConsumer.doStart(JmsConsumer.java:124)
>         at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.startService(DefaultCamelContext.java:1675)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRouteConsumers(DefaultCamelContext.java:1947)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doStartRouteConsumers(DefaultCamelContext.java:1902)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.safelyStartRouteServices(DefaultCamelContext.java:1830)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doStartOrResumeRoutes(DefaultCamelContext.java:1614)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doStartCamel(DefaultCamelContext.java:1504)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.doStart(DefaultCamelContext.java:1391)
>         at
>
> org.apache.camel.spring.SpringCamelContext.doStart(SpringCamelContext.java:181)
>         at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
>         at
>
> org.apache.camel.impl.DefaultCamelContext.start(DefaultCamelContext.java:1359)
>         at
>
> org.apache.camel.spring.SpringCamelContext.maybeStart(SpringCamelContext.java:230)
>         at
>
> org.apache.camel.spring.SpringCamelContext.onApplicationEvent(SpringCamelContext.java:120)
>         at
>
> org.apache.camel.spring.CamelContextFactoryBean.onApplicationEvent(CamelContextFactoryBean.java:240)
>         at
>
> org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:97)
>         at
>
> org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:303)
>         at
>
> org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:911)
>         at
>
> org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:428)
>         at
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
>         at
>
> org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93)
>         at
> org.apache.camel.spring.Main.createDefaultApplicationContext(Main.java:186)
>         at org.apache.camel.spring.Main.doStart(Main.java:140)
>         at
> org.apache.camel.support.ServiceSupport.start(ServiceSupport.java:60)
>         at org.apache.camel.main.MainSupport.run(MainSupport.java:139)
>
>
>
> --
> View this message in context:
> http://camel.465427.n5.nabble.com/Error-when-using-Camel-write-to-Websphere-MQ-tp5727817.html
> Sent from the Camel - Users mailing list archive at Nabble.com.
>



-- 
Brgds, Magnus Palmér
+46736845680