Merge branch '6.1.x'
This commit is contained in:
commit
52e1f30bfe
|
@ -814,11 +814,21 @@ public abstract class AbstractAutowireCapableBeanFactory extends AbstractBeanFac
|
||||||
|
|
||||||
// Common return type found: all factory methods return same type. For a non-parameterized
|
// Common return type found: all factory methods return same type. For a non-parameterized
|
||||||
// unique candidate, cache the full type declaration context of the target factory method.
|
// unique candidate, cache the full type declaration context of the target factory method.
|
||||||
|
try {
|
||||||
cachedReturnType = (uniqueCandidate != null ?
|
cachedReturnType = (uniqueCandidate != null ?
|
||||||
ResolvableType.forMethodReturnType(uniqueCandidate) : ResolvableType.forClass(commonType));
|
ResolvableType.forMethodReturnType(uniqueCandidate) : ResolvableType.forClass(commonType));
|
||||||
mbd.factoryMethodReturnType = cachedReturnType;
|
mbd.factoryMethodReturnType = cachedReturnType;
|
||||||
return cachedReturnType.resolve();
|
return cachedReturnType.resolve();
|
||||||
}
|
}
|
||||||
|
catch (LinkageError err) {
|
||||||
|
// E.g. a NoClassDefFoundError for a generic method return type
|
||||||
|
if (logger.isDebugEnabled()) {
|
||||||
|
logger.debug("Failed to resolve type for factory method of bean '" + beanName + "': " +
|
||||||
|
(uniqueCandidate != null ? uniqueCandidate : commonType), err);
|
||||||
|
}
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This implementation attempts to query the FactoryBean's generic parameter metadata
|
* This implementation attempts to query the FactoryBean's generic parameter metadata
|
||||||
|
|
Loading…
Reference in New Issue