2017-06-27 50 views
0

我有一个扩展了ServletContextListener的类,并且覆盖了contextInitialized方法。EJB和ServletContextListener初始化

我还有一个无状态的EJB,它在初始化时使用来自我的ContextListener的数据。 问题是,我认为有时容器选择首先初始化我的EJB,然后是ContextListener,这当然会导致一些NullPointers异常。有什么方法可以告诉容器首先初始化我的ContextListener,然后再初始化我的EJB?

+0

您正在使用哪个容器。 –

+0

@RameshPVK Weblogic 12c –

回答

0

EJB和Web应用程序是分开的应用程序吗?如果是的话,你可以控制部署顺序记录here

如果它们是同一企业应用程序的一部分this WebLogic文档表明,它应该是成application.xml

改变EJB的顺序和Web应用程序一样简单
+0

有没有什么办法可以在WAR中指定那个顺序而不是af EAR? –

+0

不知道你在问什么,因为WAR只包含一个Web应用程序。那么你如何指定那里的订单呢?你需要选择一个war和一个ejb模块,并给予一个更高的'部署顺序'来确保它部署在另一个之前。 – ramp

+0

你是对的。谢谢斜坡。 –