From 5d7f18f91fc8e0ca46f40d5254ac74b51a2ff625 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Thu, 4 Jun 2015 08:53:14 +0100 Subject: [PATCH] Ensure there is only one shutdown hook The effect of not doing this is not often noticeable, but you sometimes get a race condition between a context and its parent closing in different threads without it. --- .../cloud/bootstrap/BootstrapApplicationListener.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapApplicationListener.java b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapApplicationListener.java index 7f8284d4..2c41f435 100644 --- a/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapApplicationListener.java +++ b/spring-cloud-context/src/main/java/org/springframework/cloud/bootstrap/BootstrapApplicationListener.java @@ -54,7 +54,7 @@ import org.springframework.util.StringUtils; */ public class BootstrapApplicationListener implements ApplicationListener, Ordered { - + public static final String BOOTSTRAP_PROPERTY_SOURCE_NAME = "bootstrap"; public static final int DEFAULT_ORDER = Ordered.HIGHEST_PRECEDENCE + 5; @@ -141,6 +141,7 @@ public class BootstrapApplicationListener implements } } if (!installed) { + application.setRegisterShutdownHook(false); application.addInitializers(new AncestorInitializer(context)); }