[ 
https://issues.apache.org/jira/browse/ARTEMIS-234?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Michael Justin updated ARTEMIS-234:
-----------------------------------
    Description: 
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

  was:
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


> 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