[
https://issues.apache.org/activemq/browse/CAMEL-653?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=43868#action_43868
]
Claus Ibsen commented on CAMEL-653:
-----------------------------------
Bruce that was also my first shot on the solution = hacking BeanProcessor to
accept headers with underscore as well.
But then again I wanted to try a generic solution that also works for the
FileProducer and other areas in Camel where headers use package name.
So a solution to handle {{org.apache.camel}} specially would be ideal for a
first shot solution. Or maybe even better replacing all dots with underscore
and if the headerkey is a valid java identifier then its accepted.
> Bean method lost when sending a message from one JMS queue to another
> ---------------------------------------------------------------------
>
> Key: CAMEL-653
> URL: https://issues.apache.org/activemq/browse/CAMEL-653
> Project: Apache Camel
> Issue Type: Bug
> Components: camel-jms
> Affects Versions: 1.3.0, 1.4.0
> Environment: Windows XP, ActiveMQ
> Reporter: Bruce Elmore
> Assignee: Claus Ibsen
> Fix For: 1.4.0
>
>
> 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
> Update: Experimenting later with WebLogic's JMS, I noticed that WebLogic
> (9.2) does not allow this header name. Maybe this was the original motivation
> for this check. In order to be compatible with WebLogic, perhaps the method
> header name should changed to something like "CamelMethod". I believe this
> would correct both problems.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.