in extscript-core-root/extscript-spring/src/main/java/org/apache/myfaces/extensions/scripting/spring/bean/CompilationAwareRefreshableBeanFactory.java [133:173]
protected Class resolveBeanClass(RootBeanDefinition beanDefinition, String beanName, Class[] typesToMatch) throws CannotLoadBeanClassException
{
try
{
// Note that this implementation doesn't check if the bean class has
// already been resolved previously (i.e. there's no check whether
// mbd.getBeanClass() is null). In doing so, it's possible to
// reload recompiled Class files.
if (typesToMatch != null)
{
ClassLoader tempClassLoader = getTempClassLoader();
if (tempClassLoader != null)
{
if (tempClassLoader instanceof DecoratingClassLoader)
{
DecoratingClassLoader dcl = (DecoratingClassLoader) tempClassLoader;
for (int i = 0; i < typesToMatch.length; i++)
{
dcl.excludeClass(typesToMatch[i].getName());
}
}
String className = beanDefinition.getBeanClassName();
return (className != null ? ClassUtils.forName(className, tempClassLoader) : null);
}
}
Class retVal = beanDefinition.resolveBeanClass(getBeanClassLoader());
return retVal;
}
catch (ClassNotFoundException ex)
{
throw new CannotLoadBeanClassException(
beanDefinition.getResourceDescription(), beanName, beanDefinition.getBeanClassName(), ex);
}
catch (LinkageError err)
{
throw new CannotLoadBeanClassException(
beanDefinition.getResourceDescription(), beanName, beanDefinition.getBeanClassName(), err);
}
}