protected final WebSocketTransportRegistration getTransportRegistration() { if (this.transportRegistration == null) { this.transportRegistration = new WebSocketTransportRegistration(); configureWebSocketTransport(this.transportRegistration); } return this.transportRegistration; }
@Override protected void configureWebSocketTransport(WebSocketTransportRegistration registry) { registry.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() { @Override public WebSocketHandlerDecorator decorate(WebSocketHandler handler) { return new WebSocketHandlerDecorator(handler) { @Override public void afterConnectionEstablished(WebSocketSession session) throws Exception { session.getAttributes().put("decorated", true); super.afterConnectionEstablished(session); } }; } }); } }
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) { for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) { handler = factory.decorate(handler); } return handler; }
@Override public void configureWebSocketTransport(WebSocketTransportRegistration registration) { registration.setMessageSizeLimit(128 * 1024); registration.setSendTimeLimit(25 * 1000); registration.setSendBufferSizeLimit(1024 * 1024); registration.setTimeToFirstMessage(30 * 1000); }
public WebMvcStompEndpointRegistry(WebSocketHandler webSocketHandler, WebSocketTransportRegistration transportRegistration, TaskScheduler defaultSockJsTaskScheduler) { Assert.notNull(webSocketHandler, "WebSocketHandler is required "); Assert.notNull(transportRegistration, "WebSocketTransportRegistration is required"); this.webSocketHandler = webSocketHandler; this.subProtocolWebSocketHandler = unwrapSubProtocolWebSocketHandler(webSocketHandler); if (transportRegistration.getSendTimeLimit() != null) { this.subProtocolWebSocketHandler.setSendTimeLimit(transportRegistration.getSendTimeLimit()); } if (transportRegistration.getSendBufferSizeLimit() != null) { this.subProtocolWebSocketHandler.setSendBufferSizeLimit(transportRegistration.getSendBufferSizeLimit()); } if (transportRegistration.getTimeToFirstMessage() != null) { this.subProtocolWebSocketHandler.setTimeToFirstMessage(transportRegistration.getTimeToFirstMessage()); } this.stompHandler = new StompSubProtocolHandler(); if (transportRegistration.getMessageSizeLimit() != null) { this.stompHandler.setMessageSizeLimit(transportRegistration.getMessageSizeLimit()); } this.sockJsScheduler = defaultSockJsTaskScheduler; }
public WebMvcStompEndpointRegistry(WebSocketHandler webSocketHandler, WebSocketTransportRegistration transportRegistration, TaskScheduler defaultSockJsTaskScheduler) { Assert.notNull(webSocketHandler, "WebSocketHandler is required "); Assert.notNull(transportRegistration, "WebSocketTransportRegistration is required"); this.webSocketHandler = webSocketHandler; this.subProtocolWebSocketHandler = unwrapSubProtocolWebSocketHandler(webSocketHandler); if (transportRegistration.getSendTimeLimit() != null) { this.subProtocolWebSocketHandler.setSendTimeLimit(transportRegistration.getSendTimeLimit()); } if (transportRegistration.getSendBufferSizeLimit() != null) { this.subProtocolWebSocketHandler.setSendBufferSizeLimit(transportRegistration.getSendBufferSizeLimit()); } this.stompHandler = new StompSubProtocolHandler(); if (transportRegistration.getMessageSizeLimit() != null) { this.stompHandler.setMessageSizeLimit(transportRegistration.getMessageSizeLimit()); } this.sockJsScheduler = defaultSockJsTaskScheduler; }
@Override public void configureWebSocketTransport(final WebSocketTransportRegistration registration) { registration .setMessageSizeLimit(5000 * 1024) // Max incoming message size => 5Mo .setSendBufferSizeLimit(5000 * 1024); // Max outgoing buffer size => 5Mo }
public WebMvcStompEndpointRegistry(WebSocketHandler webSocketHandler, WebSocketTransportRegistration transportRegistration, TaskScheduler defaultSockJsTaskScheduler) { Assert.notNull(webSocketHandler, "WebSocketHandler is required "); Assert.notNull(transportRegistration, "WebSocketTransportRegistration is required"); this.webSocketHandler = webSocketHandler; this.subProtocolWebSocketHandler = unwrapSubProtocolWebSocketHandler(webSocketHandler); if (transportRegistration.getSendTimeLimit() != null) { this.subProtocolWebSocketHandler.setSendTimeLimit(transportRegistration.getSendTimeLimit()); } if (transportRegistration.getSendBufferSizeLimit() != null) { this.subProtocolWebSocketHandler.setSendBufferSizeLimit(transportRegistration.getSendBufferSizeLimit()); } if (transportRegistration.getTimeToFirstMessage() != null) { this.subProtocolWebSocketHandler.setTimeToFirstMessage(transportRegistration.getTimeToFirstMessage()); } this.stompHandler = new StompSubProtocolHandler(); if (transportRegistration.getMessageSizeLimit() != null) { this.stompHandler.setMessageSizeLimit(transportRegistration.getMessageSizeLimit()); } this.sockJsScheduler = defaultSockJsTaskScheduler; }
@Before public void setup() { SubscribableChannel inChannel = mock(SubscribableChannel.class); SubscribableChannel outChannel = mock(SubscribableChannel.class); this.webSocketHandler = new SubProtocolWebSocketHandler(inChannel, outChannel); WebSocketTransportRegistration transport = new WebSocketTransportRegistration(); TaskScheduler scheduler = mock(TaskScheduler.class); this.endpointRegistry = new WebMvcStompEndpointRegistry(this.webSocketHandler, transport, scheduler); }
@Override public void configureWebSocketTransport(WebSocketTransportRegistration registration) { registration.addDecoratorFactory(wsConnectHandlerDecoratorFactory()); }
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) { for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) { handler = factory.decorate(handler); } return handler; }
protected final WebSocketTransportRegistration getTransportRegistration() { if (this.transportRegistration == null) { this.transportRegistration = new WebSocketTransportRegistration(); configureWebSocketTransport(this.transportRegistration); } return this.transportRegistration; }
@Override public void configureWebSocketTransport(WebSocketTransportRegistration registration) { registration.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() { @Override public WebSocketHandler decorate(WebSocketHandler handler) { ProxyWebSocketHandler proxyWebSocketHandler = new ProxyWebSocketHandler( handler, stompClient, webSocketHttpHeadersCallback, messagingTemplate, proxyTargetResolver, zuulWebSocketProperties); proxyWebSocketHandler.errorHandler(proxyWebSocketErrorHandler); return proxyWebSocketHandler; } }); }
protected WebSocketHandler decorateWebSocketHandler(WebSocketHandler handler) { for (WebSocketHandlerDecoratorFactory factory : getTransportRegistration().getDecoratorFactories()) { handler = factory.decorate(handler); } return handler; }
protected final WebSocketTransportRegistration getTransportRegistration() { if (this.transportRegistration == null) { this.transportRegistration = new WebSocketTransportRegistration(); configureWebSocketTransport(this.transportRegistration); } return this.transportRegistration; }
@Override public void configureWebSocketTransport(WebSocketTransportRegistration registration) { registration.addDecoratorFactory(new WebSocketHandlerDecoratorFactory() { @Override public WebSocketHandler decorate(WebSocketHandler handler) { return new OneWebSocketHandlerDecorator(handler); } }); super.configureWebSocketTransport(registration); }