【发布时间】:2011-04-04 21:35:57
【问题描述】:
各位专家
我们正在使用 ClassPathXmlApplicationContext 在类路径中加载带有 xml 文件的 bean。 它从类路径中查找并加载 xml 文件,但在具有 propertyPlaceholderConfigurer bean 引用类路径中的属性文件的 xml 文件之一中。它抛出空指针异常,无法创建 propertyPlaceholderConfigurer bean。
不确定它是否读取属性文件,即使它是类路径,因为它可以读取其他 xml 文件? 属性文件有损坏数据的机会吗? 关于可能是什么问题的任何线索?
Error creating bean with name 'propertyPlaceholderConfigurer' defined in class path resource [ws.xml]: Initialization of bean failed; nested exception is java.lang.NullPointerException
at com.ibm.ejs.container.StatelessBeanO.initialize(StatelessBeanO.java:375)
at com.ibm.ejs.container.BMStatelessBeanOFactory.create(BMStatelessBeanOFactory.java:45)
at com.ibm.ejs.container.EJSHome.createBeanO(EJSHome.java:1031)
at com.ibm.ejs.container.EJSHome.createBeanO(EJSHome.java:1141)
at com.ibm.ejs.container.activator.UncachedActivationStrategy.atActivate(UncachedActivationStrategy.java:84)
at com.ibm.ejs.container.activator.Activator.activateBean(Activator.java:599)
at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3964)
at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:3269)
at com.ibm.websphere.scheduler.EJSRemoteStatelessMeFBatchHandler_fb00fe87.process(EJSRemoteStatelessMeFBatchHandler_fb00fe87.java:27)
at com.ibm.websphere.scheduler._TaskHandler_Stub.process(_TaskHandler_Stub.java:269)
at com.ibm.ws.scheduler.tasks.BeanTaskInfoWork.doWork(BeanTaskInfoWork.java:126)
at com.ibm.ws.scheduler.AlarmListener.executeTaskWithNotification(AlarmListener.java:796)
at com.ibm.ws.scheduler.AlarmListener.access$700(AlarmListener.java:121)
at com.ibm.ws.scheduler.AlarmListener$TaskWork.doWork(AlarmListener.java:427)
at com.ibm.ws.scheduler.AlarmListener$TaskWork.run(AlarmListener.java:213)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:782)
at com.ibm.ws.asynchbeans.ExecutionContextImpl.go(ExecutionContextImpl.java:86)
at com.ibm.ws.scheduler.AlarmListener.fireTask(AlarmListener.java:1401)
at com.ibm.ws.scheduler.AlarmListener.fired(AlarmListener.java:1319)
at com.ibm.ws.asynchbeans.AlarmImpl.callListenerMethod(AlarmImpl.java:340)
at com.ibm.ws.asynchbeans.timer.GenericTimer.run(GenericTimer.java:216)
at com.ibm.ws.asynchbeans.J2EEContext.run(J2EEContext.java:1150)
at com.ibm.ws.asynchbeans.AlarmImpl.runListenerAsCJWork(AlarmImpl.java:175)
at com.ibm.ws.asynchbeans.am._Alarm.fireAlarm(_Alarm.java:333)
at com.ibm.ws.asynchbeans.am._Alarm.run(_Alarm.java:230)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1550)
Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'propertyPlaceholderConfigurer' defined in class path resource [ws.xml]: Initialization of bean failed; nested exception is java.lang.NullPointerException
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:478)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(AccessController.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:217)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:164)
at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:516)
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)
【问题讨论】:
-
这是哪个版本的 Spring?行号与我正在查看的源不完全匹配,即 3.0.4.RELEASE。
-
您可以发布您的 PropertyPlaceholdConfigurer 的 xml 定义吗?