Search code examples
javaspringwebsocketspring-websocket

Spring Stomp Websocket - too big SEND message generates 1009 error and disconnect


I use Spring Stomp Websocket framework. I have already configured websocket to use larger (outgoing from server?) messages as described in http://stackoverflow.com/questions/34343235/stomp-spring-web-socket-message-exceeds-size-limit, but I seem to still get error when I use "SEND" command with larger than 64 Kb payload (incoming message towards server)

1009 Reason: Text message size [82998] exceeds maximum size [65536]  

Existing configuration looks like

@Configuration
public class WebSocketConfig extends WebSocketMessageBrokerConfigurationSupport {

    @Override
    public void configureWebSocketTransport(WebSocketTransportRegistration registry) {
    registry.setMessageSizeLimit(MAX_TEXT_MESSAGE_SIZE);
    registry.setSendBufferSizeLimit(BUFFER_SIZE);
    super.configureWebSocketTransport(registry);
   }
}

I use Spring Java Stomp Client to send payloads.

It seems an additional configuration is needed either for websocket server or for the Java Spring Websocket client to allow "SEND" of larger messages.

I appreciate help figuring out what config I am missing.


Solution

  • You need add bellow config at client side

        final WebSocketContainer webSocketContainer = ContainerProvider.getWebSocketContainer();
        webSocketContainer.setDefaultMaxBinaryMessageBufferSize(maxBinaryBufferSize);
        webSocketContainer.setDefaultMaxTextMessageBufferSize(maxTextBufferSize);