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 af5f10f1725..48bfe3886f6 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 6088296dd1f..8b4494d2d75 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 e52696476e5..d9ed1548ea5 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 36b1ca8e53c..1c1bda427e9 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 {