[
https://issues.apache.org/jira/browse/AMQ-6192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15173800#comment-15173800
]
Christopher L. Shannon commented on AMQ-6192:
---------------------------------------------
Agreed that legacy clients need to be kept in mind. We could probably come up
with something that can be driven by content type but still work with legacy
clients, but would need to prototype it and see how it might work. Regardless,
if we change this I think it would be a good candidate for a 5.14 or other
future major release as changing the behavior here would not be a good idea for
a bug fix release.
> Stomp frame translator not working when a content length is set
> ---------------------------------------------------------------
>
> Key: AMQ-6192
> URL: https://issues.apache.org/jira/browse/AMQ-6192
> 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
(v6.3.4#6332)