I am writing a Java EE application which calculates a lot of things by reading from files. This process takes a lot of time and I want it to be cached automatically everytime the application is deployed.
So, I was thinking of making a static class and storing my cache results in a static hashmap of some sort.
But any ideas on how to automate deployment and initialize that cache? Do I have to manually visit that application and initialize the cache or is there a better way out?
Assuming you have a webapp, the easiest thing to do is use a
ServletContextListenerto initialize the app on startup.http://java.sun.com/javaee/6/docs/api/javax/servlet/ServletContextListener.html
And then in your web.xml: