Skip to content

Commit f1991d8

Browse files
committed
Avoid bean override with CachingMetadataReaderFactoryPostProcessor
Closes gh-28705
1 parent 08e9725 commit f1991d8

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

spring-boot-project/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/SharedMetadataReaderFactoryContextInitializer.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright 2012-2020 the original author or authors.
2+
* Copyright 2012-2021 the original author or authors.
33
*
44
* Licensed under the Apache License, Version 2.0 (the "License");
55
* you may not use this file except in compliance with the License.
@@ -99,10 +99,12 @@ public void postProcessBeanDefinitionRegistry(BeanDefinitionRegistry registry) t
9999
}
100100

101101
private void register(BeanDefinitionRegistry registry) {
102-
BeanDefinition definition = BeanDefinitionBuilder
103-
.genericBeanDefinition(SharedMetadataReaderFactoryBean.class, SharedMetadataReaderFactoryBean::new)
104-
.getBeanDefinition();
105-
registry.registerBeanDefinition(BEAN_NAME, definition);
102+
if (!registry.containsBeanDefinition(BEAN_NAME)) {
103+
BeanDefinition definition = BeanDefinitionBuilder
104+
.rootBeanDefinition(SharedMetadataReaderFactoryBean.class, SharedMetadataReaderFactoryBean::new)
105+
.getBeanDefinition();
106+
registry.registerBeanDefinition(BEAN_NAME, definition);
107+
}
106108
}
107109

108110
private void configureConfigurationClassPostProcessor(BeanDefinitionRegistry registry) {

0 commit comments

Comments
 (0)