4
我在寫一個Java EE應用程序,它通過從文件中讀取來計算很多事情。這個過程需要很長時間,我希望每次部署應用程序時都會自動緩存它。在啓動時初始化Java EE應用程序緩存
所以,我正在考慮製作一個靜態類,並將我的緩存結果存儲在某種靜態哈希表中。
但有關如何自動部署和初始化緩存的任何想法?我是否必須手動訪問該應用程序並初始化緩存,或者有更好的方法嗎?
我在寫一個Java EE應用程序,它通過從文件中讀取來計算很多事情。這個過程需要很長時間,我希望每次部署應用程序時都會自動緩存它。在啓動時初始化Java EE應用程序緩存
所以,我正在考慮製作一個靜態類,並將我的緩存結果存儲在某種靜態哈希表中。
但有關如何自動部署和初始化緩存的任何想法?我是否必須手動訪問該應用程序並初始化緩存,或者有更好的方法嗎?
假設您有一個web應用程序,最簡單的方法是使用ServletContextListener
在啓動時初始化應用程序。
http://java.sun.com/javaee/6/docs/api/javax/servlet/ServletContextListener.html
public class MyListener implements ServletContextListener {
public void contextInitialized(ServletContextEvent sce) {
// initialize cache here
}
public void contextDestroyed(ServletContextEvent sce) {
// shut down logic?
}
}
然後在你的web.xml:
<listener>
<listener-class>com.x.MyListener</listener-class>
</listener>
非常感謝。完美的作品! – Sunny 2010-06-18 16:51:18