[ 
https://issues.apache.org/jira/browse/ARTEMIS-234?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15374449#comment-15374449
 ] 

Lionel Cons commented on ARTEMIS-234:
-------------------------------------

To be closer to the STOMP 1.2 specification ("If a frame body is present, the 
SEND, MESSAGE and ERROR frames SHOULD include a content-length header to ease 
frame parsing"), I would recommend to use the {{content-type}} header and not 
the {{content-length}} to distinguish text and binary messages.

See https://stomp.github.io/stomp-specification-1.2.html#Header_content-length 
and https://stomp.github.io/stomp-specification-1.2.html#Header_content-type.

> STOMP text message frames must not have a content-length header
> ---------------------------------------------------------------
>
>                 Key: ARTEMIS-234
>                 URL: https://issues.apache.org/jira/browse/ARTEMIS-234
>             Project: ActiveMQ Artemis
>          Issue Type: Bug
>          Components: Stomp
>    Affects Versions: 1.1.0
>         Environment: Windows 8, Java 8
>            Reporter: Michael Justin
>
> In Artemis 1.0.0, distinction between text and binary message was possible 
> based on the content-length header as documented: "A Stomp client can check 
> the presence of the content-length header to determine the type of the 
> message body (String or bytes)."
> With Artemis 1.1.0 the MESSAGE frame always includes the content-length 
> header, so that the distiction is not possible:
> SEND
> destination:jms.queue.ExampleQueue
> Test message
> received:
> MESSAGE
> subscription:{B806BF9D-B761-419C-8645-BBE3AED5CAF8}
> message-id:2147488964
> destination:jms.queue.ExampleQueue
> expires:0
> redelivered:false
> priority:4
> timestamp:1443278118819
> content-length:12
> Test message
> Additional information: the documented behaviour is also implemented in 
> Apache ActiveMQ: 
> "Stomp is a very simple protocol - that's part of the beauty of it! As such, 
> it does not have knowledge of JMS messages such as TextMessages or 
> BytesMessages. The protocol does however support a content-length header. To 
> provide more robust interaction between Stomp and JMS clients, ActiveMQ keys 
> off of the inclusion of this header to determine what message type to create 
> when sending from Stomp to JMS."
> Fixing this issue would increase the compatibility of Artemis with ActiveMQ



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to