Details
-
New Feature
-
Status: Closed
-
Minor
-
Resolution: Abandoned
-
5.9.0
-
None
-
None
Description
When you send a message through Stomp Websocket using stomp.js, if you try to send a message bigger than 16kb, stomp.js splits the message in multiple frames. ActiveMQ is not able to manage this kind of message.
The showed error is:
org.apache.activemq.transport.stomp.ProtocolException: The maximum command length was exceeded
at org.apache.activemq.transport.stomp.StompWireFormat.readHeaderLine(StompWireFormat.java:158)
at org.apache.activemq.transport.stomp.StompWireFormat.readLine(StompWireFormat.java:148)
at org.apache.activemq.transport.stomp.StompWireFormat.parseAction(StompWireFormat.java:181)
at org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:98)
at org.apache.activemq.transport.stomp.StompWireFormat.unmarshal(StompWireFormat.java:62)
at org.apache.activemq.transport.ws.StompSocket.onMessage(StompSocket.java:76)
at org.eclipse.jetty.websocket.WebSocketConnectionRFC6455$WSFrameHandler.onFrame(WebSocketConnectionRFC6455.java:835)
at org.eclipse.jetty.websocket.WebSocketParserRFC6455.parseNext(WebSocketParserRFC6455.java:349)
at org.eclipse.jetty.websocket.WebSocketConnectionRFC6455.handle(WebSocketConnectionRFC6455.java:225)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:628)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608)
at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543)
at java.lang.Thread.run(Thread.java:744)
The second framed is processed as a new message, so it is trying to process the body as a command part.