2010-01-13 48 views
0

我正在開發J2EE Web應用程序,我希望能夠在「重新發布」過程中運行方法(或函數,類,無論 - 東西)。如果我可以控制重新發布我的函數被調用時(之前,期間,之後等),但是一個好的第一步是獲得要自動調用的東西,這將是很好的。如何在重新發布到JBoss之前運行方法?

作爲臨時黑客,我可以添加一個按鈕到我的web應用程序,你在Eclipse中單擊「重新發布」權之前,你點擊。

回答

1

執行ServletContextListener鉤住webapp的啓動和關閉。

public class Config implements ServletContextListener { 

    public void contextInitialized(ServletContextEvent event) { 
     // Do stuff during startup. 
    } 

    public void contextDestroyed(ServletContextEvent event) { 
     // Do stuff during shutdown. 
    } 

} 

要使其正常工作,只需在web.xml中註冊。

<listener> 
    <listener-class>com.example.Config</listener-class> 
</listener> 

不過,我只是不知道究竟你發佈期間意思。但是您可以查看Servlet API中可用的另一個偵聽器,或者可以使用Filter。

+0

當從Eclipse中運行的應用程序,你可以啓動/停止服務器,在調試模式下運行它,或者只需重新發布,其中(據我所知)重建在JBoss'deploy'目錄中的EAR。 JBoss發現EAR已經改變並相應更新。基本上,您使用「重新發布」,因爲它比重新啓動服務器(在Eclipse中定義的東西,而不是物理機器)要快得多。 – 2010-01-13 15:31:17

+0

呃好的。你的問題是?編輯:或者你不知道重新發布webapp =重新啓動webapp上下文嗎?當我說「啓動webapp /關閉webapp」時,我並不是想象你想的那樣說「啓動appserver/shutdown appserver」。 – BalusC 2010-01-13 15:34:15

+0

完美運作。只是我需要的鉤子。謝謝:) – 2010-01-13 15:57:12

相關問題