Hi All,

I am trying to set MQRFH2 properties (usr proeprties ) using Camel. But
When the message arrives on the queue the properties are not set.

In the code below I am trying to set a string property and its value  (i.e.
foo = bar ), but the property is not set when massage arrives on the Queue.

Also, the queue name for Reply To is not set.

I also noticed, when the message arrives on the queue, the MQMD format is
empty.

Can someone give me some ideas on how to do this in Camel.

http://publib.boulder.ibm.com/infocenter/wmqv7/v7r0/index.jsp?topic=%2Fcom.ibm.mq.javadoc.doc%2FWMQJMSClasses%2Fcom%2Fibm%2Fmq%2Fjms%2FMQConnectionFactory.html




Here is the code.


import java.io.File;

import javax.jms.JMSException;

import junit.framework.TestCase;

import org.apache.camel.CamelContext;
import org.apache.camel.ProducerTemplate;
import org.apache.camel.builder.RouteBuilder;
import org.apache.camel.component.jms.JmsComponent;
import org.apache.camel.impl.DefaultCamelContext;
import org.junit.Test;

import com.ibm.mq.jms.MQConnectionFactory;

public class MqPropertiesTest extends TestCase {

                 @Test
                 public void testMe() throws Exception{

                                CamelContext context = new
DefaultCamelContext();
                                context.addComponent("wmq",
JmsComponent.jmsComponent(createWMQ()));
                                context.addRoutes(createRouteBuilder());

                                context.start();

                                File file = new File("myDataFile");

                                ProducerTemplate template =
context.createProducerTemplate();

                                template.sendBody("direct:start", file);
                 }

                   protected RouteBuilder createRouteBuilder() throws
Exception {
                       return new RouteBuilder() {
                           @Override
                           public void configure() throws Exception {


                                             from( "direct:start" )

.setHeader("CamelJmsDestinationName",
constant("queue:///MY.QUEQE?targetClient=1"))

*.setHeader("JMSReplyTo",constant("MY.REPLY.TO.Q"))*

.to("wmq:queue:MY.QUEUE");



                           }
                       };
                   }

                              public static
com.ibm.mq.jms.MQConnectionFactory createWMQ() throws JMSException {

                                             MQConnectionFactory
mqConnectionFactory = new MQConnectionFactory();

 mqConnectionFactory.setHostName("localhost");

 mqConnectionFactory.setPort(1440);

 mqConnectionFactory.setQueueManager("MY.QMGR");

 mqConnectionFactory.setChannel("MY.SVRCONN.CHANNEL");

                                            *
mqConnectionFactory.setStringProperty("foo",
"bar");*


                                             return mqConnectionFactory;
                              }

}





-- 
Rachit Gandhi

Reply via email to