List of usage examples for org.springframework.beans.factory.xml XmlBeanFactory setBeanClassLoader
@Override public void setBeanClassLoader(@Nullable ClassLoader beanClassLoader)
From source file:org.iternine.jeppetto.testsupport.TestContext.java
public TestContext(String configurationFilename, String propertiesFilename, DatabaseProvider... databaseProviders) { XmlBeanFactory xmlBeanFactory = new XmlBeanFactory(new ClassPathResource(configurationFilename)); xmlBeanFactory.setBeanClassLoader(this.getClass().getClassLoader()); Properties properties = new Properties(); try {//from w w w. j a v a 2 s. c om properties.load(new ClassPathResource(propertiesFilename).getInputStream()); } catch (IOException e) { throw new RuntimeException(e); } if (databaseProviders != null) { for (DatabaseProvider databaseProvider : databaseProviders) { properties = databaseProvider.modifyProperties(properties); } } PropertyPlaceholderConfigurer configurer = new PropertyPlaceholderConfigurer(); configurer.setProperties(properties); configurer.postProcessBeanFactory(xmlBeanFactory); try { applicationContext = new GenericApplicationContext(xmlBeanFactory); applicationContext.refresh(); if (databaseProviders != null) { for (DatabaseProvider databaseProvider : databaseProviders) { databases.add(databaseProvider.getDatabase(properties, applicationContext)); } } } catch (RuntimeException e) { if (databaseProviders != null) { for (DatabaseProvider databaseProvider : databaseProviders) { if (databaseProvider instanceof Closeable) { try { ((Closeable) databaseProvider).close(); } catch (IOException e1) { // ignore } } } } throw e; } }