From 5a84c02b08fc28a28e3142ebfdb642043d106efb Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Thu, 15 Oct 2015 17:49:40 -0700 Subject: [PATCH] Throw EmbeddedContainerExceptions from Undertow Wrap Undertow start errors in EmbeddedContainerException. Fixes gh-4205 --- .../UndertowEmbeddedServletContainer.java | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/spring-boot/src/main/java/org/springframework/boot/context/embedded/undertow/UndertowEmbeddedServletContainer.java b/spring-boot/src/main/java/org/springframework/boot/context/embedded/undertow/UndertowEmbeddedServletContainer.java index 450d004f02..9263ab22a4 100644 --- a/spring-boot/src/main/java/org/springframework/boot/context/embedded/undertow/UndertowEmbeddedServletContainer.java +++ b/spring-boot/src/main/java/org/springframework/boot/context/embedded/undertow/UndertowEmbeddedServletContainer.java @@ -99,27 +99,17 @@ public class UndertowEmbeddedServletContainer implements EmbeddedServletContaine @Override public synchronized void start() throws EmbeddedServletContainerException { - if (!this.autoStart) { - return; - } - if (this.undertow == null) { - this.undertow = createUndertowServer(); - } - this.undertow.start(); - this.started = true; - UndertowEmbeddedServletContainer.logger - .info("Undertow started on port(s) " + getPortsDescription()); - } - - private Undertow createUndertowServer() { try { - HttpHandler httpHandler = this.manager.start(); - httpHandler = getContextHandler(httpHandler); - if (this.useForwardHeaders) { - httpHandler = Handlers.proxyPeerAddress(httpHandler); + if (!this.autoStart) { + return; } - this.builder.setHandler(httpHandler); - return this.builder.build(); + if (this.undertow == null) { + this.undertow = createUndertowServer(); + } + this.undertow.start(); + this.started = true; + UndertowEmbeddedServletContainer.logger + .info("Undertow started on port(s) " + getPortsDescription()); } catch (ServletException ex) { throw new EmbeddedServletContainerException( @@ -127,6 +117,16 @@ public class UndertowEmbeddedServletContainer implements EmbeddedServletContaine } } + private Undertow createUndertowServer() throws ServletException { + HttpHandler httpHandler = this.manager.start(); + httpHandler = getContextHandler(httpHandler); + if (this.useForwardHeaders) { + httpHandler = Handlers.proxyPeerAddress(httpHandler); + } + this.builder.setHandler(httpHandler); + return this.builder.build(); + } + private HttpHandler getContextHandler(HttpHandler httpHandler) { HttpHandler contextHandler = configurationCompressionIfNecessary(httpHandler); if (StringUtils.isEmpty(this.contextPath)) {