diff --git a/spring-cloud-netflix-dependencies/pom.xml b/spring-cloud-netflix-dependencies/pom.xml index 8037cfa15..f4b9ab0ae 100644 --- a/spring-cloud-netflix-dependencies/pom.xml +++ b/spring-cloud-netflix-dependencies/pom.xml @@ -16,7 +16,7 @@ 0.7.6 0.1.12 - 1.9.13 + 1.9.17 0.3.0 1.5.18 2.3.0 diff --git a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java index d0ff333be..d5e4c77e8 100644 --- a/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java +++ b/spring-cloud-netflix-eureka-server/src/main/java/org/springframework/cloud/netflix/eureka/server/EurekaServerAutoConfiguration.java @@ -169,6 +169,7 @@ public class EurekaServerAutoConfiguration implements WebMvcConfigurer { } @Bean + @ConditionalOnMissingBean public EurekaServerContext eurekaServerContext(ServerCodecs serverCodecs, PeerAwareInstanceRegistry registry, PeerEurekaNodes peerEurekaNodes) { return new DefaultEurekaServerContext(this.eurekaServerConfig, serverCodecs, diff --git a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/doc/AbstractDocumentationTests.java b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/doc/AbstractDocumentationTests.java index 08f426a24..fbab4b548 100644 --- a/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/doc/AbstractDocumentationTests.java +++ b/spring-cloud-netflix-eureka-server/src/test/java/org/springframework/cloud/netflix/eureka/server/doc/AbstractDocumentationTests.java @@ -20,7 +20,13 @@ import java.util.UUID; import com.netflix.appinfo.ApplicationInfoManager; import com.netflix.appinfo.InstanceInfo; +import com.netflix.eureka.DefaultEurekaServerContext; +import com.netflix.eureka.EurekaServerConfig; +import com.netflix.eureka.EurekaServerContext; +import com.netflix.eureka.cluster.PeerEurekaNodes; +import com.netflix.eureka.registry.PeerAwareInstanceRegistry; import com.netflix.eureka.registry.PeerAwareInstanceRegistryImpl; +import com.netflix.eureka.resources.ServerCodecs; import io.restassured.RestAssured; import io.restassured.builder.RequestSpecBuilder; import io.restassured.filter.Filter; @@ -28,6 +34,8 @@ import io.restassured.specification.RequestSpecification; import org.junit.After; import org.junit.Rule; import org.junit.runner.RunWith; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.autoconfigure.EnableAutoConfiguration; @@ -38,6 +46,7 @@ import org.springframework.cloud.contract.wiremock.restdocs.WireMockSnippet; import org.springframework.cloud.netflix.eureka.EurekaInstanceConfigBean; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer; import org.springframework.cloud.netflix.eureka.server.doc.AbstractDocumentationTests.Application; +import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.restdocs.JUnitRestDocumentation; import org.springframework.restdocs.restassured3.RestAssuredRestDocumentation; @@ -157,6 +166,29 @@ public abstract class AbstractDocumentationTests { @EnableEurekaServer protected static class Application { + private static final Logger logger = LoggerFactory + .getLogger(DefaultEurekaServerContext.class); + + @Bean + public EurekaServerContext testEurekaServerContext(ServerCodecs serverCodecs, + PeerAwareInstanceRegistry registry, PeerEurekaNodes peerEurekaNodes, + ApplicationInfoManager applicationInfoManager, + EurekaServerConfig eurekaServerConfig) { + return new DefaultEurekaServerContext(eurekaServerConfig, serverCodecs, + registry, peerEurekaNodes, applicationInfoManager) { + @Override + public void shutdown() { + logger.info( + "Shutting down (except ServoControl and EurekaMonitors).."); + registry.shutdown(); + peerEurekaNodes.shutdown(); + // ServoControl.shutdown(); + // EurekaMonitors.shutdown(); + logger.info("Shut down"); + } + }; + } + } }