activemq-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Timothy Bish (JIRA)" <>
Subject [jira] [Commented] (AMQ-6192) Stomp frame translator not working when a content length is set
Date Tue, 01 Mar 2016 14:02:18 GMT


Timothy Bish commented on AMQ-6192:

The historical treatment of content-length as the indicator of BytesMessage drives all this.
 If we decide that it's time to move away from that then I think we should revisit all cases
both on transformation and on the content-type handling and come up with something consistent.

It'd be nice to move to a solution were content type drove everything but we do need to keep
legacy client's in mind when changing anything.  

> Stomp frame translator not working when a content length is set
> ---------------------------------------------------------------
>                 Key: AMQ-6192
>                 URL:
>             Project: ActiveMQ
>          Issue Type: New Feature
>          Components: stomp
>    Affects Versions: 5.13.1
>            Reporter: Nigel Sim
> The stomp frame translator, such as "transformation:jms-map-json" is ignored if the content-length
header is set, so you end up with an ActiveMQByesMessage instead of a ActiveMQMapMessage.
The spec says this header is optional, but recommended, so I'm not sure why it's presence
or absence is used to determine whether to try the frame translators.
> The code in question is in org.apache.activemq.transport.stomp.JmsFrameTranslator.convertFrame
which says:
> {code}
> if (headers.containsKey(Headers.CONTENT_LENGTH) || transformation.equals(Transformations.JMS_BYTE.toString()))
>   msg = super.convertFrame(converter, command);
> } else {
>  // apply frame translator
> }
> {code}

This message was sent by Atlassian JIRA

View raw message