Remove use of simple executor in WebSocket clients
Issue: SPR-11580
This commit is contained in:
@@ -28,6 +28,7 @@ import org.eclipse.jetty.websocket.servlet.WebSocketServletFactory;
|
||||
import org.junit.After;
|
||||
import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.springframework.core.task.SimpleAsyncTaskExecutor;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.util.SocketUtils;
|
||||
import org.springframework.web.socket.WebSocketHandler;
|
||||
@@ -88,6 +89,19 @@ public class JettyWebSocketClientTests {
|
||||
assertEquals("echo", this.wsSession.getAcceptedProtocol());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void doHandshakeWithTaskExecutor() throws Exception {
|
||||
|
||||
WebSocketHttpHeaders headers = new WebSocketHttpHeaders();
|
||||
headers.setSecWebSocketProtocol(Arrays.asList("echo"));
|
||||
|
||||
this.client.setTaskExecutor(new SimpleAsyncTaskExecutor());
|
||||
this.wsSession = this.client.doHandshake(new TextWebSocketHandler(), headers, new URI(this.wsUrl)).get();
|
||||
|
||||
assertEquals(this.wsUrl, this.wsSession.getUri().toString());
|
||||
assertEquals("echo", this.wsSession.getAcceptedProtocol());
|
||||
}
|
||||
|
||||
|
||||
private static class TestJettyWebSocketServer {
|
||||
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
@@ -30,6 +30,9 @@ import org.junit.Before;
|
||||
import org.junit.Test;
|
||||
import org.mockito.ArgumentCaptor;
|
||||
|
||||
import org.springframework.core.task.AsyncListenableTaskExecutor;
|
||||
import org.springframework.core.task.SimpleAsyncTaskExecutor;
|
||||
import org.springframework.core.task.TaskExecutor;
|
||||
import org.springframework.web.socket.WebSocketHandler;
|
||||
import org.springframework.web.socket.WebSocketSession;
|
||||
import org.springframework.web.socket.handler.AbstractWebSocketHandler;
|
||||
@@ -134,4 +137,14 @@ public class StandardWebSocketClientTests {
|
||||
assertEquals(Collections.singletonMap("foo", Arrays.asList("bar")), map);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void taskExecutor() throws Exception {
|
||||
|
||||
URI uri = new URI("ws://example.com/abc");
|
||||
this.wsClient.setTaskExecutor(new SimpleAsyncTaskExecutor());
|
||||
WebSocketSession session = this.wsClient.doHandshake(this.wsHandler, this.headers, uri).get();
|
||||
|
||||
assertNotNull(session);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user