/** * Class constructor. Sets {@link #setDefaultHeartbeat} to "0,0" but will * reset it back to the preferred "10000,10000" when a * {@link #setTaskScheduler} is configured. * @param webSocketClient the WebSocket client to connect with */ public WebSocketStompClient(WebSocketClient webSocketClient) { Assert.notNull(webSocketClient, "WebSocketClient is required"); this.webSocketClient = webSocketClient; setDefaultHeartbeat(new long[] {0, 0}); }
/** * {@inheritDoc} * <p>Also automatically sets the {@link #setDefaultHeartbeat defaultHeartbeat} * property to "10000,10000" if it is currently set to "0,0". */ @Override public void setTaskScheduler(@Nullable TaskScheduler taskScheduler) { if (!isDefaultHeartbeatEnabled()) { setDefaultHeartbeat(new long[] {10000, 10000}); } super.setTaskScheduler(taskScheduler); }
@Test public void heartbeatDefaultValueSetWithoutScheduler() throws Exception { WebSocketStompClient stompClient = new WebSocketStompClient(mock(WebSocketClient.class)); stompClient.setDefaultHeartbeat(new long[] {5, 5}); try { stompClient.processConnectHeaders(null); fail("Expected IllegalStateException"); } catch (IllegalStateException ex) { // ignore } }
/** * Class constructor. Sets {@link #setDefaultHeartbeat} to "0,0" but will * reset it back to the preferred "10000,10000" when a * {@link #setTaskScheduler} is configured. * @param webSocketClient the WebSocket client to connect with */ public WebSocketStompClient(WebSocketClient webSocketClient) { Assert.notNull(webSocketClient, "WebSocketClient is required"); this.webSocketClient = webSocketClient; setDefaultHeartbeat(new long[] {0, 0}); }
/** * Class constructor. Sets {@link #setDefaultHeartbeat} to "0,0" but will * reset it back to the preferred "10000,10000" when a * {@link #setTaskScheduler} is configured. * @param webSocketClient the WebSocket client to connect with */ public WebSocketStompClient(WebSocketClient webSocketClient) { Assert.notNull(webSocketClient, "WebSocketClient is required"); this.webSocketClient = webSocketClient; setDefaultHeartbeat(new long[] {0, 0}); }
/** * {@inheritDoc} * <p>Also automatically sets the {@link #setDefaultHeartbeat defaultHeartbeat} * property to "10000,10000" if it is currently set to "0,0". */ @Override public void setTaskScheduler(@Nullable TaskScheduler taskScheduler) { if (!isDefaultHeartbeatEnabled()) { setDefaultHeartbeat(new long[] {10000, 10000}); } super.setTaskScheduler(taskScheduler); }
/** * {@inheritDoc} * <p>Also automatically sets the {@link #setDefaultHeartbeat defaultHeartbeat} * property to "10000,10000" if it is currently set to "0,0". */ @Override public void setTaskScheduler(@Nullable TaskScheduler taskScheduler) { if (!isDefaultHeartbeatEnabled()) { setDefaultHeartbeat(new long[] {10000, 10000}); } super.setTaskScheduler(taskScheduler); }
@Bean @ConditionalOnMissingBean(WebSocketStompClient.class) public WebSocketStompClient stompClient(WebSocketClient webSocketClient, MessageConverter messageConverter, @Qualifier("proxyStompClientTaskScheduler") TaskScheduler taskScheduler) { int bufferSizeLimit = 1024 * 1024 * 8; WebSocketStompClient client = new WebSocketStompClient(webSocketClient); client.setInboundMessageSizeLimit(bufferSizeLimit); client.setMessageConverter(messageConverter); client.setTaskScheduler(taskScheduler); client.setDefaultHeartbeat(new long[]{0, 0}); return client; }