fixed concurrency issue in TypedStringValue, showing for nested typed Maps in prototype beans (SPR-7398); optimized building of keyed arg names in BeanDefinitionValueResolver
@ -38,7 +38,7 @@ public class TypedStringValue implements BeanMetadataElement {
@@ -38,7 +38,7 @@ public class TypedStringValue implements BeanMetadataElement {
privateStringvalue;
privateObjecttargetType;
privatevolatileObjecttargetType;
privateObjectsource;
@ -110,10 +110,11 @@ public class TypedStringValue implements BeanMetadataElement {
@@ -110,10 +110,11 @@ public class TypedStringValue implements BeanMetadataElement {
*Returnthetypetoconvertto.
*/
publicClassgetTargetType(){
if(!(this.targetTypeinstanceofClass)){
ObjecttargetTypeValue=this.targetType;
if(!(targetTypeValueinstanceofClass)){
thrownewIllegalStateException("Typed String value does not carry a resolved target type");
}
return(Class)this.targetType;
return(Class)targetTypeValue;
}
/**
@ -128,11 +129,12 @@ public class TypedStringValue implements BeanMetadataElement {
@@ -128,11 +129,12 @@ public class TypedStringValue implements BeanMetadataElement {