You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "Fugitt, Jesse" <jf...@informatica.com> on 2014/07/15 16:25:24 UTC
Proton-624 JIRA
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
Re: Proton-624 JIRA
Posted by Timothy Bish <ta...@gmail.com>.
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.
tim.bish@redhat.com | www.fusesource.com | www.redhat.com
skype: tabish121 | twitter: @tabish121
blog: http://timbish.blogspot.com/