diff --git a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java index 582a6854..df4c3666 100644 --- a/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java +++ b/spring-cloud-netflix-core/src/main/java/org/springframework/cloud/netflix/eureka/EurekaDiscoveryClientConfiguration.java @@ -158,11 +158,18 @@ public class EurekaDiscoveryClientConfiguration implements SmartLifecycle, Order EurekaDiscoveryClientConfiguration.this.start(); } - @EventListener(EnvironmentChangeEvent.class) - public void onApplicationEvent(EnvironmentChangeEvent event) { - // register in case meta data changed - stop(); - start(); + @Configuration + @ConditionalOnClass(EnvironmentChangeEvent.class) + protected static class EurekaClientConfigurationRefresher { + @Autowired + private EurekaDiscoveryClientConfiguration clientConfig; + + @EventListener(EnvironmentChangeEvent.class) + public void onApplicationEvent(EnvironmentChangeEvent event) { + // register in case meta data changed + this.clientConfig.stop(); + this.clientConfig.start(); + } } @EventListener(ContextClosedEvent.class)