Hi

Think I found a issue while working with jms.

I have a simple route that at the moment takes a textmessage and sends it to
a external system as
a ByteMessage :

    <route id="playlister-publication-out-Route">
        <from uri="hubQueue:queue:PUBLICATION_HUB?jmsMessageType=Text" />
        <transacted/>
        <to uri="playQueue:queue:FURTHERELEMENTS?jmsMessageType=Bytes"/>
    </route>

The hubQueue and playQueue are 2 Oracle AQ queues on separate systems, but
should be comparable with other jms providers eg ActiveMQ

When I run the the route the playQueue til recieve a JmsTextMessage  and not
the expected JmsByteMessage. 

Even if i convert the body to a byte[] array it doesn't help.

I found out that setting a foo header on the exchange will make it work eg:

       <from uri="hubQueue:queue:PUBLICATION_HUB?jmsMessageType=Text" />
        <transacted/>
        <setHeader headerName="foo"><constant>bar</constant></setHeader>
        <to uri="playQueue:queue:FURTHERELEMENTS?jmsMessageType=Bytes"/>

This will return a ByteMessage from the JmsBinding.makeJmsMessage as the the
Exchange headers will be set.


/Preben

--
View this message in context: 
http://camel.465427.n5.nabble.com/Convert-jms-message-from-textmessage-to-bytemessage-tp4895362p4895362.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to