diff --git a/spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java b/spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java index 6b4e5b6a4fac..34b70b9c4f5e 100644 --- a/spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java +++ b/spring-context/src/main/java/org/springframework/context/support/AbstractApplicationContext.java @@ -604,7 +604,7 @@ protected void prepareRefresh() { getEnvironment().validateRequiredProperties(); // Store pre-refresh ApplicationListeners... - if (this.earlyApplicationListeners == null) { + if (this.earlyApplicationListeners == null || this.earlyApplicationListeners.isEmpty()) { this.earlyApplicationListeners = new LinkedHashSet<>(this.applicationListeners); } else { @@ -1035,7 +1035,7 @@ protected void doClose() { onClose(); // Reset local application listeners to pre-refresh state. - if (this.earlyApplicationListeners != null) { + if (this.earlyApplicationListeners != null && !this.earlyApplicationListeners.isEmpty()) { this.applicationListeners.clear(); this.applicationListeners.addAll(this.earlyApplicationListeners); }