}
@SuppressWarnings({"SynchronizationOnLocalVariableOrMethodParameter"})
public Object getBean(String name, Object[] parameters) throws BeansException
{
AbstractBeanFactory result = getExactBean(name, AbstractBeanFactory.class);
ConstructorMetaData cmd = result.getConstructor();
BeanMetaDataBuilder builder = BeanMetaDataBuilder.createBuilder("Temp");
for (Object parameter : parameters )
builder.addConstructorParameter(null, parameter);
ConstructorMetaData tempCMD = builder.getBeanMetaData().getConstructor();
synchronized (result)
{
result.setConstructor(tempCMD);
try
{
return createBean(result);
}
finally
{
result.setConstructor(cmd);
}
}
}