Fixed SPR-5655 - dm Server issues with ConfigurationClassPostProcessor attempting to read .class files with ASM with incorrect class loader

git-svn-id: https://src.springframework.org/svn/spring-framework/trunk@935 50f2f4bb-b051-0410-bef5-90022cba6387
This commit is contained in:
Chris Beams
2009-04-06 21:23:37 +00:00
parent 39a9279e25
commit 610a8b70ea
2 changed files with 41 additions and 4 deletions
@@ -143,5 +143,34 @@ public class ConfigurationPostProcessorTests {
final Foo foo;
public Bar(Foo foo) { this.foo = foo; }
}
/**
* Tests the fix for SPR-5655, a special workaround that prefers reflection
* over ASM if a bean class is already loaded.
*/
@Test
public void testAlreadyLoadedConfigurationClasses() {
DefaultListableBeanFactory beanFactory = new DefaultListableBeanFactory();
beanFactory.registerBeanDefinition("unloadedConfig",
rootBeanDefinition(UnloadedConfig.class.getName()).getBeanDefinition());
beanFactory.registerBeanDefinition("loadedConfig",
rootBeanDefinition(LoadedConfig.class).getBeanDefinition());
new ConfigurationClassPostProcessor() .postProcessBeanFactory(beanFactory);
beanFactory.getBean("foo");
beanFactory.getBean("bar");
}
@Configuration
static class UnloadedConfig {
public @Bean Foo foo() {
return new Foo();
}
}
@Configuration
static class LoadedConfig {
public @Bean Bar bar() {
return new Bar(new Foo());
}
}
}