From 01cca0275a57adfb930698c819417e26c75f2158 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Tue, 16 May 2017 14:48:19 +0100 Subject: [PATCH] Be defensive about web classes being available --- .../SimpleDiscoveryClientAutoConfiguration.java | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/simple/SimpleDiscoveryClientAutoConfiguration.java b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/simple/SimpleDiscoveryClientAutoConfiguration.java index 5fd8175c..797f632b 100644 --- a/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/simple/SimpleDiscoveryClientAutoConfiguration.java +++ b/spring-cloud-commons/src/main/java/org/springframework/cloud/client/discovery/simple/SimpleDiscoveryClientAutoConfiguration.java @@ -16,6 +16,7 @@ import org.springframework.cloud.commons.util.InetUtils; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; +import org.springframework.util.ClassUtils; /** * Spring Boot Auto-Configuration for Simple Properties based Discovery Client @@ -59,11 +60,15 @@ public class SimpleDiscoveryClientAutoConfiguration { } private int findPort() { - if (this.context instanceof EmbeddedWebApplicationContext) { - EmbeddedServletContainer container = ((EmbeddedWebApplicationContext) this.context) - .getEmbeddedServletContainer(); - if (container != null) { - return container.getPort(); + if (ClassUtils.isPresent( + "org.springframework.boot.context.embedded.EmbeddedWebApplicationContext", + null)) { + if (this.context instanceof EmbeddedWebApplicationContext) { + EmbeddedServletContainer container = ((EmbeddedWebApplicationContext) this.context) + .getEmbeddedServletContainer(); + if (container != null) { + return container.getPort(); + } } } if (this.server != null && this.server.getPort() != null