2013-04-05 114 views
2

有沒有什麼辦法來捕捉事件/實現一個類,或類似的東西,檢測JBoss(AS7)啓動並運行,所有的應用程序已部署?JBoss AS 7 - 啓動後初始化

我做了StartupServlet(它擴展了HttpServlet),因爲我需要調用本地Web服務來初始化系統。但是因爲我的應用程序沒有完全部署,所以我的Web服務調用(在StartupServlet中)以「404 Not Found錯誤」結束。

我試圖在web.xml上使用<listener>...</listener>,但它不起作用。

回答

0

,你可以嘗試使用Startup EJB,像解釋here

@Singleton 
@Startup 
public class StartupBean { 

    @PostConstruct 
    private void startup() { ... } 

    @PreDestroy 
    private void shutdown() { ... } 
} 

然而bean將不會檢測到您的應用程序是否部署,僅當前應用程序 - 包含豆一 - 部署和開始。由於@PostConstruct方法非常早,所以不能依賴任何其他可用的bean或服務。

編輯:Jboss也有native management API。 AFAIK它也可以用來查詢部署。不幸的是它的文檔並不令人印象深刻,但也許你可以弄明白。

+0

我試過了,但它被稱爲方式來早。我開始覺得沒有辦法做到這一點。 – Joshua 2013-04-05 15:08:03

+0

@Joshua - 至少這不是微不足道的。我增加了一個可能性 - 也許它可以提供幫助。 – kostja 2013-04-05 15:18:20