diff --git a/spring-boot-samples/spring-boot-sample-jetty/src/main/resources/application.properties b/spring-boot-samples/spring-boot-sample-jetty/src/main/resources/application.properties index f0cf321720..4d7dbe1673 100644 --- a/spring-boot-samples/spring-boot-sample-jetty/src/main/resources/application.properties +++ b/spring-boot-samples/spring-boot-sample-jetty/src/main/resources/application.properties @@ -1,2 +1,3 @@ server.compression.enabled: true -server.compression.min-response-size: 1 \ No newline at end of file +server.compression.min-response-size: 1 +server.jetty.acceptors=2 diff --git a/spring-boot-samples/spring-boot-sample-jetty8/src/main/resources/application.properties b/spring-boot-samples/spring-boot-sample-jetty8/src/main/resources/application.properties index f0cf321720..4d7dbe1673 100644 --- a/spring-boot-samples/spring-boot-sample-jetty8/src/main/resources/application.properties +++ b/spring-boot-samples/spring-boot-sample-jetty8/src/main/resources/application.properties @@ -1,2 +1,3 @@ server.compression.enabled: true -server.compression.min-response-size: 1 \ No newline at end of file +server.compression.min-response-size: 1 +server.jetty.acceptors=2 diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java index 65a52568d5..723fe25ebc 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/jetty/JettyEmbeddedServletContainerFactory.java @@ -154,7 +154,8 @@ public class JettyEmbeddedServletContainerFactory ServletContextInitializer... initializers) { JettyEmbeddedWebAppContext context = new JettyEmbeddedWebAppContext(); int port = (getPort() >= 0 ? getPort() : 0); - Server server = createServer(port); + InetSocketAddress address = new InetSocketAddress(getAddress(), port); + Server server = createServer(address); configureWebAppContext(context, initializers); server.setHandler(addHandlerWrappers(context)); this.logger.info("Server initialized with port: " + port); @@ -174,19 +175,21 @@ public class JettyEmbeddedServletContainerFactory return getJettyEmbeddedServletContainer(server); } - private Server createServer(int port) { + private Server createServer(InetSocketAddress address) { + if (this.acceptors < 0 && this.selectors < 0) { + return new Server(address); + } + if (!ClassUtils.isPresent("org.eclipse.jetty.server.ServerConnector", null)) { + this.logger.warn("Acceptors and Selectors are not supported with Jetty 8"); + return new Server(address); + } Server server = new Server(); - server.setConnectors(new Connector[] { createConnector(port, server) }); - return server; - } - - private ServerConnector createConnector(int port, Server server) { ServerConnector connector = new ServerConnector(server, this.acceptors, this.selectors); - InetSocketAddress address = new InetSocketAddress(getAddress(), port); connector.setHost(address.getHostName()); connector.setPort(address.getPort()); - return connector; + server.setConnectors(new Connector[] { connector }); + return server; } private Handler addHandlerWrappers(Handler handler) {