From 385d5874830dcebf91eaa1edbda2a21186fe9b96 Mon Sep 17 00:00:00 2001 From: "seongjun.ha" Date: Thu, 19 Feb 2026 19:46:49 +0900 Subject: [PATCH] Ignore child context events in DeferredRepositoryInitializationListener. Compare the event's ApplicationContext.getBeanFactory() with the listener's BeanFactory to filter out child context events, preventing premature repository initialization. Closes spring-projects/spring-data-commons#3459 Signed-off-by: seongjun-rpls --- ...erredRepositoryInitializationListener.java | 11 ++ ...sitoryInitializationListenerUnitTests.java | 136 ++++++++++++++++++ 2 files changed, 147 insertions(+) create mode 100644 src/test/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListenerUnitTests.java diff --git a/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java b/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java index 03c592068..ab91e7b93 100644 --- a/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java +++ b/src/main/java/org/springframework/data/repository/config/DeferredRepositoryInitializationListener.java @@ -19,7 +19,9 @@ import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.beans.factory.ListableBeanFactory; +import org.springframework.context.ApplicationContext; import org.springframework.context.ApplicationListener; +import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.event.ContextRefreshedEvent; import org.springframework.core.Ordered; import org.springframework.data.repository.Repository; @@ -45,6 +47,15 @@ class DeferredRepositoryInitializationListener implements ApplicationListener