处理Java EE应用程序生命周期的“标准化”方式

前端之家收集整理的这篇文章主要介绍了处理Java EE应用程序生命周期的“标准化”方式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当开发 Java EE应用程序时,我经常遇到“问题”,以便在应用程序启动时停止等等.现在对于Weblogic来说,有一个机制(应用程序生命周期监听器).但是如果你想保持你的应用程序免费的应用程序的东西.服务器具体,你必须找到一个不同的解决方案.有些建议使用在启动时加载的servlet,并且“滥用”init()/ destroy().

其他人说使用ServletContextListener.对我来说,最后一个听起来是最好的(根据java doc for ServletContextListener.不幸的是,今天我尝试了JBoss 7,似乎jax-ws webservices在任何其他Servlet之前初始化,因此在ServletContextListener获取通知之前.

长篇小说 – 我只是在这里面临一些应用服务器的具体问题 – 或者是否有任何“更合适”的标准Java EE注册方式,在任何webservice,servlet之前进行任何初始化?

解决方法

如果您的网络服务如此注释
@javax.jws.WebService(...)
public interface YourServiceEndpoint

它们不是真正的servlet,但是JBoss(Jax-WS)将把它们变成一个启动.

我正在使用jboss-4.2.3,我也收到这些消息之前,我的ServletContextListner被调用.

[org.jboss.wsf.framework.management.DefaultEndpointRegistry] register: jboss.ws:context=crm,endpoint=YourService

但是我想知道,如果这个webservice在完整的应用程序启动之前可用,因为几乎在部署结束时我收到以下消息

[org.jboss.wsf.stack.jbws.WSDLFilePublisher]  WSDL published to: ... YourServlet(..).wsdl

所以我猜,这是一个jboss相关的问题.也许我们应该测试另一个应用服务器来证明.

猜你在找的Java相关文章