2013-02-12 32 views
0

我有一個RAP應用程序,我們將其部署到Tomcat實例中。該應用程序在第一次啓動時會做一些額外的工作。如何啓動我的RAP應用程序以在啓動後立即觸發熱身

當前,當第一個用戶在瀏覽器中打開網頁時,由於這個一次性初始化工作,需要相當長的時間直到應用程序準備就緒。

這對於可用性很差,因爲第一個用戶需要等待很長時間直到啓動工作完成。

有沒有辦法在Tomcat啓動後觸發或模擬第一個會話,以便我們可以預熱應用程序,第一個用戶可以快速收到反饋?

我試圖通過URLConnection做一些簡單的URL請求來模擬瀏覽器,但似乎觸發新會話的協議並不重要。

我也嘗試使用HtmlUnit來請求啓用JavaScript的頁面,這在一定程度上有效,但HtmlUnit對於這個簡單的步驟非常沉重。

那麼是否有官方的API或至少某種解決方法允許我預先啓動和初始化應用程序?

回答

3

除非此初始化需要UI會話(即用戶),否則ApplicationConfigurationconfigure方法可能是合適的地方。但是,在這一點上,ApplicationContext尚未完全建立,因此可能爲時尚早。此外,如果您的應用程序基於工作臺和擴展點,則不會擁有您自己的ApplicationConfiguration。

你介意打開一個錯誤報告(http://eclipse.org/rap/bugs)並描述你的用例嗎?我認爲我們應該爲應用程序設置和清理提供某種鉤子,例如一個ApplicationContextListener?

+0

謝謝,我打開了https://bugs.eclipse.org/bugs/show_bug.cgi?id=401219,我們通過使初始化工作獨立於RAP/RWT並作爲Tomcat啓動的一部分來解決它。 – centic 2013-02-19 18:13:20

相關問題