在开发 Java EE 应用程序时,我经常遇到在应用程序启动、停止等时执行操作的“问题”。例如,对于 Weblogic,有一种机制(应用程序生命周期侦听器)。但是,如果您想让您的应用程序不受应用程序的影响。特定于服务器,您必须找到不同的解决方案。有些人建议使用在启动时加载的 servlet,并“滥用” init()
/ destroy()
。
其他人说使用ServletContextListener
. 对我来说,最后一个听起来最好(根据 java doc for ServletContextListener
。不幸的是,今天我尝试了 JBoss 7,似乎 jax-ws webservices 在任何其他之前被初始化Servlet
,因此在ServletContextListener
收到通知之前。
长话短说 - 我只是在这里面临一些应用程序服务器特定的问题 - 或者是否有任何“更合适”的标准化 Java EE 方式来注册事物、做事、在任何 web 服务、servlet 初始化之前?