Restore defensive access to volatile field in getBeanClassName()
Closes gh-30773
This commit is contained in:
@@ -390,7 +390,8 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
|
|||||||
@Override
|
@Override
|
||||||
@Nullable
|
@Nullable
|
||||||
public String getBeanClassName() {
|
public String getBeanClassName() {
|
||||||
return (this.beanClass instanceof Class<?> clazz ? clazz.getName() : (String) this.beanClass);
|
Object beanClassObject = this.beanClass; // defensive access to volatile beanClass field
|
||||||
|
return (beanClassObject instanceof Class<?> clazz ? clazz.getName() : (String) beanClassObject);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -423,7 +424,7 @@ public abstract class AbstractBeanDefinition extends BeanMetadataAttributeAccess
|
|||||||
* @see #resolveBeanClass(ClassLoader)
|
* @see #resolveBeanClass(ClassLoader)
|
||||||
*/
|
*/
|
||||||
public Class<?> getBeanClass() throws IllegalStateException {
|
public Class<?> getBeanClass() throws IllegalStateException {
|
||||||
Object beanClassObject = this.beanClass;
|
Object beanClassObject = this.beanClass; // defensive access to volatile beanClass field
|
||||||
if (beanClassObject == null) {
|
if (beanClassObject == null) {
|
||||||
throw new IllegalStateException("No bean class specified on bean definition");
|
throw new IllegalStateException("No bean class specified on bean definition");
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user