Set the mapJmsMessage=false option on the jms component to get the actual javax.jms.TextMessage. See http://camel.apache.org/jms.html for details (paragraph "Disabling auto-mapping of JMS messages").
On Wed, Dec 18, 2013 at 7:59 PM, Tarun Kumar <agrawal.taru...@gmail.com>wrote: > Hi, > > I am creating a polling consumer using: > > from("timer://foo?period=5000").bean(cool, "someBusinessLogic"); > > public static class MyCoolBean { > > private int count; > private ConsumerTemplate consumer; > private ProducerTemplate producer; > > public void setConsumer(ConsumerTemplate consumer) { > this.consumer = consumer; > } > > public void setProducer(ProducerTemplate producer) { > this.producer = producer; > } > > public void someBusinessLogic() { > // loop to empty queue > while (true) { > // receive the message from the queue, wait at most 3 sec > String msg = consumer.receiveBody("activemq:queue.inbox", 3000, > String.class); > if (msg == null) { > // no more messages in queue > break; > } > > // do something with body > msg = "Hello " + msg; > > // send it to the next queue > producer.sendBodyAndHeader("activemq:queue.foo", msg, "number", > count++); > } > } > } > > Here, i would like to receive jms message as Message or TextMessage instead > of string. I have tried: > > Exchange exchange = consumer > > .receive("catalogJms:queue:queueName"); > > exchange also doesn't give me message as javax.jms.Message or TextMessage. > > > Is there any way i can do this? >