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?

Reply via email to