Skip to content

Commit faa000f

Browse files
committed
Log alias removal in DefaultListableBeanFactory
Prior to this commit, information was logged when a bean definition overrode an existing bean definition, but nothing was logged when the registration of a bean definition resulted in the removal of an alias. With this commit, an INFO message is now logged whenever an alias is removed in DefaultListableBeanFactory. Closes gh-34070 (cherry picked from commit 41d9f21)
1 parent daf1b3d commit faa000f

File tree

2 files changed

+10
-0
lines changed

2 files changed

+10
-0
lines changed

spring-beans/src/main/java/org/springframework/beans/factory/support/DefaultListableBeanFactory.java

+5
Original file line numberDiff line numberDiff line change
@@ -1055,6 +1055,11 @@ else if (!beanDefinition.equals(existingDefinition)) {
10551055
}
10561056
}
10571057
else {
1058+
if (logger.isInfoEnabled()) {
1059+
logger.info("Removing alias '" + beanName + "' for bean '" + aliasedName +
1060+
"' due to registration of bean definition for bean '" + beanName + "': [" +
1061+
beanDefinition + "]");
1062+
}
10581063
removeAlias(beanName);
10591064
}
10601065
}

spring-beans/src/test/java/org/springframework/beans/factory/DefaultListableBeanFactoryTests.java

+5
Original file line numberDiff line numberDiff line change
@@ -885,10 +885,15 @@ void aliasChaining() {
885885
@Test
886886
void beanDefinitionOverriding() {
887887
lbf.registerBeanDefinition("test", new RootBeanDefinition(TestBean.class));
888+
// Override "test" bean definition.
888889
lbf.registerBeanDefinition("test", new RootBeanDefinition(NestedTestBean.class));
890+
// Temporary "test2" alias for nonexistent bean.
889891
lbf.registerAlias("otherTest", "test2");
892+
// Reassign "test2" alias to "test".
890893
lbf.registerAlias("test", "test2");
894+
// Assign "testX" alias to "test" as well.
891895
lbf.registerAlias("test", "testX");
896+
// Register new "testX" bean definition which also removes the "testX" alias for "test".
892897
lbf.registerBeanDefinition("testX", new RootBeanDefinition(TestBean.class));
893898

894899
assertThat(lbf.getBean("test")).isInstanceOf(NestedTestBean.class);

0 commit comments

Comments
 (0)