From e770b7de419df2d24d93711fe413d9d42e55f8e1 Mon Sep 17 00:00:00 2001 From: Rossen Stoyanchev Date: Sat, 8 Aug 2015 03:46:58 -0400 Subject: [PATCH] Tests pass For Tomcat, failures occur if HttpHandlerServlet buffer size is significantly less than the Tomcat input buffer size. Also on command line Jetty tests fail with port unavailable unless the server from the Tomcat tests is also destroyed. --- .../reactive/web/servlet/HttpHandlerServlet.java | 2 +- .../AbstractHttpHandlerServletIntegrationTestCase.java | 6 ++---- .../servlet/HttpHandlerServletJettyIntegrationTests.java | 1 + .../servlet/HttpHandlerServletTomcatIntegrationTests.java | 6 ++++-- 4 files changed, 8 insertions(+), 7 deletions(-) diff --git a/spring-web-reactive/src/main/java/org/springframework/reactive/web/servlet/HttpHandlerServlet.java b/spring-web-reactive/src/main/java/org/springframework/reactive/web/servlet/HttpHandlerServlet.java index af5f10f172..48bfe3886f 100644 --- a/spring-web-reactive/src/main/java/org/springframework/reactive/web/servlet/HttpHandlerServlet.java +++ b/spring-web-reactive/src/main/java/org/springframework/reactive/web/servlet/HttpHandlerServlet.java @@ -34,7 +34,7 @@ import org.springframework.reactive.web.HttpHandler; @WebServlet(asyncSupported = true ) public class HttpHandlerServlet extends HttpServlet { - private static final int BUFFER_SIZE = 4096; + private static final int BUFFER_SIZE = 8192; private HttpHandler handler; diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/AbstractHttpHandlerServletIntegrationTestCase.java b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/AbstractHttpHandlerServletIntegrationTestCase.java index 6088296dd1..8b4494d2d7 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/AbstractHttpHandlerServletIntegrationTestCase.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/AbstractHttpHandlerServletIntegrationTestCase.java @@ -21,7 +21,6 @@ import java.util.Random; import org.junit.Test; -import org.springframework.http.HttpMethod; import org.springframework.http.RequestEntity; import org.springframework.http.ResponseEntity; import org.springframework.util.SocketUtils; @@ -44,8 +43,7 @@ public abstract class AbstractHttpHandlerServletIntegrationTestCase { RestTemplate restTemplate = new RestTemplate(); byte[] body = randomBytes(); - RequestEntity - request = new RequestEntity(body, HttpMethod.POST, new URI(url())); + RequestEntity request = RequestEntity.post(new URI(url())).body(body); ResponseEntity response = restTemplate.exchange(request, byte[].class); assertArrayEquals(body, response.getBody()); @@ -56,7 +54,7 @@ public abstract class AbstractHttpHandlerServletIntegrationTestCase { RestTemplate restTemplate = new RestTemplate(); String body = randomString(); - RequestEntity request = new RequestEntity(body, HttpMethod.POST, new URI(url())); + RequestEntity request = RequestEntity.post(new URI(url())).body(body); ResponseEntity response = restTemplate.exchange(request, String.class); assertEquals(body, response.getBody()); diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletJettyIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletJettyIntegrationTests.java index e52696476e..d9ed1548ea 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletJettyIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletJettyIntegrationTests.java @@ -50,6 +50,7 @@ public class HttpHandlerServletJettyIntegrationTests @AfterClass public static void stopServer() throws Exception { jettyServer.stop(); + jettyServer.destroy(); } public static void main(String[] args) throws Exception { diff --git a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletTomcatIntegrationTests.java b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletTomcatIntegrationTests.java index 36b1ca8e53..1c1bda427e 100644 --- a/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletTomcatIntegrationTests.java +++ b/spring-web-reactive/src/test/java/org/springframework/reactive/web/servlet/HttpHandlerServletTomcatIntegrationTests.java @@ -33,6 +33,7 @@ public class HttpHandlerServletTomcatIntegrationTests extends AbstractHttpHandle private static Tomcat tomcatServer; + @BeforeClass public static void startServer() throws LifecycleException, InterruptedException { tomcatServer = new Tomcat(); @@ -43,15 +44,16 @@ public class HttpHandlerServletTomcatIntegrationTests extends AbstractHttpHandle HttpHandlerServlet servlet = new HttpHandlerServlet(); servlet.setHandler(new EchoHandler()); - tomcatServer.addServlet(rootCtx, "handlerServlet", servlet); + Tomcat.addServlet(rootCtx, "handlerServlet", servlet); rootCtx.addServletMapping("/rx", "handlerServlet"); tomcatServer.start(); } @AfterClass - public static void stopServer() throws LifecycleException { + public static void stopServer() throws Exception { tomcatServer.stop(); + tomcatServer.destroy(); } public static void main(String[] args) throws Exception {