I have a bean declared in xml which uses parent="someotherbeanname". I have a top-level application-context that loads lots fo xml configs and some java configs. During the ConfigurationPostProcessor the BeanDefinition has a null class, which causes an NPE in ClassUtils.convertClassNameToResourcePath (stack below).
As I comment out the xml bean which declare a parent, the NPE moves on to the next bean with a parent. Is there some delayed configuration in spring-core related to bean with parent beans?
Code:java.lang.NullPointerException at org.springframework.util.ClassUtils.convertClassNameToResourcePath(ClassUtils.java:753) at org.springframework.core.type.classreading.SimpleMetadataReaderFactory.getMetadataReader(SimpleMetadataReaderFactory.java:68) at org.springframework.config.java.process.ConfigurationBeanDefinitionDecoratingBeanFactoryPostProcessor.isConfigClass(ConfigurationBeanDefinitionDecoratingBeanFactoryPostProcessor.java:63) at org.springframework.config.java.process.ConfigurationBeanDefinitionDecoratingBeanFactoryPostProcessor.postProcessBeanFactory(ConfigurationBeanDefinitionDecoratingBeanFactoryPostProcessor.java:48) at org.springframework.config.java.process.ConfigurationPostProcessor.postProcessBeanFactory(ConfigurationPostProcessor.java:42) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:554) at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:537) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:363) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139) at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:93) at com.its.infra.util.spring.BeanFactoryInstance$DefaultBeanFactoryInstantiator.newInstance(BeanFactoryInstance.java:104) at com.its.infra.util.spring.BeanFactoryInstance.install(BeanFactoryInstance.java:85) at com.its.infra.util.spring.BeanFactoryInstance.install(BeanFactoryInstance.java:52) at com.its.infra.util.spring.BeanFactoryInstance.install(BeanFactoryInstance.java:48) at test.ftest.trading.AbstractServerTestCase.setUpBeanFactoryInstance(AbstractServerTestCase.java:273) at test.ftest.trading.AbstractServerTestCase.setUp(AbstractServerTestCase.java:243) at com.its.importexport.FTestAccountElementSetImporter.setUp(FTestAccountElementSetImporter.java:40) at junit.framework.TestCase.runBare(TestCase.java:132) at junit.framework.TestResult$1.protect(TestResult.java:110) at junit.framework.TestResult.runProtected(TestResult.java:128) at junit.framework.TestResult.run(TestResult.java:113) at junit.framework.TestCase.run(TestCase.java:124) at test.support.BaseTestCase.run(BaseTestCase.java:53) at test.support.AbstractTestCase.run(AbstractTestCase.java:88) at junit.framework.TestSuite.runTest(TestSuite.java:232) at junit.framework.TestSuite.run(TestSuite.java:227) at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:79) at org.junit.runners.Suite.runChild(Suite.java:115) at org.junit.runners.Suite.runChild(Suite.java:23) at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:180) at org.junit.runners.ParentRunner.access$000(ParentRunner.java:41) at org.junit.runners.ParentRunner$1.evaluate(ParentRunner.java:173) at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28) at org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:31) at org.junit.runners.ParentRunner.run(ParentRunner.java:220) at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45) at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386) at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)


