Sandeep,
If you are setting the property values to the NormalizedMessage header
value, they should be transfered together with the message inside
Camel. However, properties set at the MessageExchange level aren't
forwared. Are you sure you are setting the properties at the
NormalizedMessage level (like
exchange.getMessage("in").setProperty("myprop", "myvalue") in your bean
SU) -- if not, the message properties are already lost before you put
the message in the queue?
Also, are you using the new JMS endpoints (<jms:consumer/> and
<jms:provider/>) or the older one (<jms:endpoint/>)? The
DefaultProviderMarshaler currently doesn't support forwarding JBI
properties as MS properties. You would have to build you own class that
extends org.apache.servicemix.jms.endpoints.DefaultProviderMarshaler but
also copies JBI message properties to the JMS TextMessage in the
createMessage method. Afterwards, configure this class in Spring and
assign an instance of it to the "marshaler" property.
Regards,
Gert
sandeep reddy wrote:
I have servicemix-camel 3.2.2 snapshot in my ServiceMix 3.2.1 instance.
Flow :
Http-SU(provider) --> Bean-SU(setting properties in message header)
--> camel-SU --> JMS-Provider-SU --> JMSConsumer-SU
I am setting some properties during Bean-SU and that message goes to
JMSProvider-SU.
Then that message is kept into Queue(MessageQueue). But observed that
properties kept during Bean-SU were
stripped out.(observed using JCONSOLE).
So, for this i came to know to use marshalers.But, i don't know much
about it.
Can anybody help me out? how i can solve it.
Sandeep.