Details
-
New Feature
-
Status: Open
-
Major
-
Resolution: Unresolved
-
5.13.1
-
None
-
None
Description
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:
if (headers.containsKey(Headers.CONTENT_LENGTH) || transformation.equals(Transformations.JMS_BYTE.toString())) { msg = super.convertFrame(converter, command); } else { // apply frame translator }