永久servlet在服務器啓動時加載,直到服務器關機爲止。如何在Tomcat 6中配置永久Servlet?
我有要求啓動一些服務器端java程序,然後這些程序提供的功能是完全獨特的和獨立於Web服務器。我希望在Tomcat啓動時執行此操作。我看到的解決方案是Permanent Servlet,它將調用這些Java程序。
那麼如何在Tomcat 6中配置Permanent Servlets?有關永久Servlet的
更多細節從http://java.sun.com/developer/onlineTraining/Servlets/Fundamentals/servlets.html
臨時與永久的Servlet
的Servlet可以啓動和停止爲每個客戶端的請求,也可以作爲Web服務器啓動和啓動在服務器關閉之前保持活動狀態。臨時servlet按需加載,並提供了一種很好的方法來節省服務器中的資源以減少使用的功能。
永久servlet在服務器啓動時加載,直到服務器關閉爲止。當服務器的啓動成本非常高時(例如與DBMS建立連接),提供服務器端永久性功能(如RMI服務),或者他們必須響應時,Servlet將作爲服務器的永久擴展來安裝儘可能快地滿足客戶的要求。
沒有特殊的代碼來使servlet成爲臨時或永久的;這是服務器配置的功能。
由於servlet可以在Web服務器啓動時加載,因此可以使用此自動加載機制來提供更容易加載的服務器端Java程序。這些程序可以提供完全獨一無二的功能,並且獨立於Web服務器。例如,servlet可以通過TCP/IP端口提供基於R的服務(rlogin,rsh,...),同時使用servlet請求/響應協議來呈現和處理用於管理servlet的HTML頁面。
這看起來像Permanent Servlet的不錯選擇。但我的問題是如何配置Permanent Servlet? – YoK 2011-04-14 06:43:05
夠公平,好問題。我見過的所有東西都說永久性的servlet是一個配置問題,但是我從未見過如何配置它。我知道的最近的是'web.xml'中的元素。儘管我仍然傾向於使用'ServletContextListener',因爲它是爲你需要的。 –
WhiteFang34
2011-04-14 07:07:37
我有這種感覺(但不幸的是沒有證據),默認情況下,servlets是永久的。但是,出於興趣,如果您需要啓動這些servlet來提供「完全獨立於Web服務器的功能」,這聽起來像他們不依賴於請求響應範例。在這種情況下,爲什麼不從上下文監聽器啓動一個或多個線程 - 沒有實現作爲servlet的功能。 – DaveH 2011-04-14 07:42:00