On 07/15/2014 10:25 AM, Fugitt, Jesse wrote:
I opened a Proton JIRA a couple weeks ago about corrupted payloads from 
ActiveMQ for redelivered messages but wasn't sure whether this was something 
that should be the responsibility of the Proton JMS jar or something that needs 
fixed in ActiveMQ and was hoping to get some input.

The link to the JIRA is here:
https://issues.apache.org/jira/browse/PROTON-624

Basically when you configure ActiveMQ to use transport.transformer=jms and you 
have a BytesMessage that gets redelivered, its payload is corrupted (or rather 
ends up being all 0's) because it doesn't get reset when going out through that 
outbound transformer.   This problem does not exist with the default outbound 
transformer (AMQPNativeOutboundTransformer) because it does a reset as part of 
the outbound transform process.  It looked like the simple fix would be to 
patch Proton's JMSMappingOutboundTransformer class but I wanted to confirm with 
the ActiveMQ devs whether or not this is something that should be handled in 
ActiveMQ when redelivering rather than relying on the Proton layer's outbound 
transformers to do the BytesMessage reset.

Thanks,
Jesse


Its something that would ultimately need to be fixed on the Proton project end. We probably could add some logic to call reset ourselves but hopefully it can get fixed in Proton prior to another ActiveMQ release. You could open a Jira at ActiveMQ and link in the Proton issue so it stays on the radar for the next release. A unit test is advisable also so we can ensure it stays fixed.

--
Tim Bish
Sr Software Engineer | RedHat Inc.
[email protected] | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/

Reply via email to