gpt4 book ai didi

java - "Standardized"处理 Java EE 应用程序生命周期的方式

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:02:14 25 4
gpt4 key购买 nike

在开发 Java EE 应用程序时,我经常遇到在应用程序启动、停止等时执行某些操作的“问题”。现在以 Weblogic 为例,有一种机制(应用程序生命周期监听器) .但是如果你想让你的应用程序远离应用程序的东西。特定于服务器,您必须找到不同的解决方案。有些人建议使用在启动时加载的 servlet,并“滥用”init()/destroy()

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

长话短说 - 我只是面临一些特定于应用程序服务器的问题 - 或者是否有任何“更合适”的标准化 Java EE 方式来注册东西,做东西,在任何网络服务,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

但我想知道,这个 web 服务是否在整个应用程序启动之前可用,因为在部署快结束时我收到以下消息

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

所以我猜,这是一个与 jboss 相关的问题。也许我们应该在另一个应用服务器上进行测试以证明这一点。

关于java - "Standardized"处理 Java EE 应用程序生命周期的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6787503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com