I noticed a problem in JmsBinding.java. If Camel has read a JMS message from
a queue and that message has a bean method specified in the header
("org.apache.camel.MethodName"), the method header will removed if that
message is written to another queue. Here's the offending code:
protected boolean shouldOutputHeader(org.apache.camel.Message
camelMessage, String headerName,
Object headerValue) {
return headerValue != null &&
!getIgnoreJmsHeaders().contains(headerName)
&& ObjectHelper.isJavaIdentifier(headerName);
}
"org.apache.camel.MethodName" fails the check isJavaIdentifier and is
excluded from the headers written to the new message. I'm not sure the
purpose of this check, but this might be an unintended side effect.
The call chain is something like this:
JmsProducer.process
JmsBinding.makeJmsMessage
JmsBinding.appendJmsProperties
JmsBinding.shouldOutputHeader
--
View this message in context:
http://www.nabble.com/Problem-with-sending-a-message-from-one-JMS-queue-to-another-tp18069875s22882p18069875.html
Sent from the Camel - Users mailing list archive at Nabble.com.