簡體   English   中英

處理 Java EE 應用程序生命周期的“標准化”方式

[英]“Standardized” way of handling the lifecycle of a Java EE application

在開發 Java EE 應用程序時,我經常遇到在應用程序啟動、停止等時執行操作的“問題”。例如,對於 Weblogic,有一種機制(應用程序生命周期偵聽器)。 但是,如果您想讓您的應用程序不受應用程序的影響。 特定於服務器,您必須找到不同的解決方案。 有些人建議使用在啟動時加載的 servlet,並“濫用” init() / destroy()

其他人說使用ServletContextListener 對我來說,最后一個聽起來最好(根據ServletContextListener的 java 文檔。不幸的是,今天我嘗試了ServletContextListener 7,似乎 jax-ws webservices 在任何其他Servlet通知之前被初始化,因此在

長話短說 - 我只是在這里面臨一些應用程序服務器特定的問題 - 還是有任何“更合適”的標准化 Java EE 方式來注冊東西,做一些事情,在任何 web 服務、servlet 之前初始化?

如果您的網絡服務是這樣注釋的

@javax.jws.WebService(...)
public interface YourServiceEndpoint

他們還不是真正的servlets,但是 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 相關問題。 也許我們應該在另一個應用服務器上進行測試來證明這一點。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM