0
我正在開發J2EE Web應用程序,我希望能夠在「重新發布」過程中運行方法(或函數,類,無論 - 東西)。如果我可以控制當重新發布我的函數被調用時(之前,期間,之後等),但是一個好的第一步是獲得要自動調用的東西,這將是很好的。如何在重新發布到JBoss之前運行方法?
作爲臨時黑客,我可以添加一個按鈕到我的web應用程序,你在Eclipse中單擊「重新發布」權之前,你點擊。
我正在開發J2EE Web應用程序,我希望能夠在「重新發布」過程中運行方法(或函數,類,無論 - 東西)。如果我可以控制當重新發布我的函數被調用時(之前,期間,之後等),但是一個好的第一步是獲得要自動調用的東西,這將是很好的。如何在重新發布到JBoss之前運行方法?
作爲臨時黑客,我可以添加一個按鈕到我的web應用程序,你在Eclipse中單擊「重新發布」權之前,你點擊。
執行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。
當從Eclipse中運行的應用程序,你可以啓動/停止服務器,在調試模式下運行它,或者只需重新發布,其中(據我所知)重建在JBoss'deploy'目錄中的EAR。 JBoss發現EAR已經改變並相應更新。基本上,您使用「重新發布」,因爲它比重新啓動服務器(在Eclipse中定義的東西,而不是物理機器)要快得多。 – 2010-01-13 15:31:17
呃好的。你的問題是?編輯:或者你不知道重新發布webapp =重新啓動webapp上下文嗎?當我說「啓動webapp /關閉webapp」時,我並不是想象你想的那樣說「啓動appserver/shutdown appserver」。 – BalusC 2010-01-13 15:34:15
完美運作。只是我需要的鉤子。謝謝:) – 2010-01-13 15:57:12