Skip to content

Commit f1345aa

Browse files
committed
Defensively access existing beanDefinitionMap entries
See gh-22263
1 parent 43e315f commit f1345aa

File tree

1 file changed

+3
-4
lines changed

1 file changed

+3
-4
lines changed

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

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -652,8 +652,8 @@ public <T> Map<String, T> getBeansOfType(
652652
public String[] getBeanNamesForAnnotation(Class<? extends Annotation> annotationType) {
653653
List<String> result = new ArrayList<>();
654654
for (String beanName : this.beanDefinitionNames) {
655-
BeanDefinition beanDefinition = this.beanDefinitionMap.get(beanName);
656-
if (!beanDefinition.isAbstract() && findAnnotationOnBean(beanName, annotationType) != null) {
655+
BeanDefinition bd = this.beanDefinitionMap.get(beanName);
656+
if (bd != null && !bd.isAbstract() && findAnnotationOnBean(beanName, annotationType) != null) {
657657
result.add(beanName);
658658
}
659659
}
@@ -1057,8 +1057,7 @@ protected void resetBeanDefinition(String beanName) {
10571057
for (String bdName : this.beanDefinitionNames) {
10581058
if (!beanName.equals(bdName)) {
10591059
BeanDefinition bd = this.beanDefinitionMap.get(bdName);
1060-
// Ensure bd is non-null due to potential concurrent modification
1061-
// of the beanDefinitionMap.
1060+
// Ensure bd is non-null due to potential concurrent modification of beanDefinitionMap.
10621061
if (bd != null && beanName.equals(bd.getParentName())) {
10631062
resetBeanDefinition(bdName);
10641063
}

0 commit comments

Comments
 (0)