我使用spring初始化我的bean。我已经配置了一个我打算用作工厂bean的bean。
<bean id="jsServicesFactory" class="x.y.z.JSServicesFactory" />
这是一个非常基本的类 - 它有4个getter方法。一个例子是
public final PortletRegistry getPortletRegistry() {
PortletRegistry registry = (PortletRegistry) JetspeedPortletServices
.getSingleton().getService("PortletRegistryComponent");
return registry;
}
我有一个第二个bean,它使用这个工厂bean来设置它的一个属性
<bean id="batchManagerService" class="x.y.z.BatchManagerService">
...
<property name="portletRegistry">
<bean factory-bean="jsServicesFactory" factory-method="getPortletRegistry" />
</property>
...
当我在RAD中启动我的服务器时,这一切都很完美。但是,当我部署到Linux时,我有时会收到以下错误
错误org.springframework.web.context.ContextLoader - 上下文初始化失败 org.springframework.beans.factory.BeanCreationException:创建在ServletContext资源[/WEB-INF/context/root/batchManagerContext.xml]中定义名称为'batchManagerService'的bean时出错:设置时无法创建内部'jsServicesFactory $ created#70be70be' bean属性'portletRegistry';嵌套异常是org.springframework.beans.factory.BeanCreationException:在ServletContext资源[/WEB-INF/context/root/batchManagerContext.xml]中定义的名称为'jsServicesFactory $ created#70be70be'的bean创建错误:bean的实例化失败;嵌套异常是org.springframework.beans.factory.BeanDefinitionStoreException:工厂方法[public final org.apache.jetspeed.components.portletregistry.PortletRegistry x.y.z.JSServicesFactory.getPortletRegistry()]引发异常;嵌套异常是java.lang.NullPointerException
我尝试将depends-on =“jsServicesFactory”添加到我的bean batchManagerService,但它没有用。
有什么想法吗?
由于
答案 0 :(得分:0)
线索在堆栈轨迹中,虽然深埋在其中:
嵌套异常是 显示java.lang.NullPointerException
代码中的某些东西在bean初始化期间抛出一个NPE,这会在堆栈中向上传播,并在其他异常中重新包装。
找出该NPE的根本原因,这应该可以解决问题。