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/