catch (EngineImportException e)
{
String message = "Failed to resolve configured factory method '" + factoryMethodName +
"' expected to exist for class '" + beanEventType.getUnderlyingType() + "'";
log.info(message, e);
throw new EventBeanManufactureException(message, e);
}
}
String className = factoryMethodName.substring(0, lastDotIndex);
String methodName = factoryMethodName.substring(lastDotIndex + 1);
try
{
Method method = engineImportService.resolveMethod(className, methodName, new Class[0], new boolean[0], new boolean[0]);
if (beanEventType.getFastClass() != null) {
FastClass fastClassFactory = FastClass.create(Thread.currentThread().getContextClassLoader(), method.getDeclaringClass());
return new BeanInstantiatorByFactoryFastClass(fastClassFactory.getMethod(method));
}
else {
return new BeanInstantiatorByFactoryReflection(method);
}
}
catch (EngineImportException e)
{
String message = "Failed to resolve configured factory method '" + methodName + "' expected to exist for class '" + className + "'";
log.info(message, e);
throw new EventBeanManufactureException(message, e);
}
}