// If default values have been set, create a new repository
// configuration element using the default values
// and the values in the selector.
// If no default values, just use the selector.
final CombinedConfiguration config = new CombinedConfiguration();
HierarchicalConfiguration defConf = defaultConfigs.get(protocol);
if (defConf != null) {
config.addConfiguration(defConf);
}
DefaultConfigurationBuilder builder = new DefaultConfigurationBuilder();
builder.addProperty("[@destinationURL]", destination);
config.addConfiguration(builder);
try {
// Use the classloader which is used for bean instance stuff
Class<MailRepository> clazz = (Class<MailRepository>) getBeanFactory().getBeanClassLoader().loadClass(repClass);
reply = (MailRepository) getBeanFactory().autowire(clazz, ConfigurableListableBeanFactory.AUTOWIRE_AUTODETECT, false);