In very short: I need a JSP to display data that is kept in a DB (actually so far only META tags (HTML HEAD...)) but they change very rarely there... so I made custom JSP tag that returns correct data by matching requesting page's URL to data in a HashMap...

The only thing now is how to properly implement the 'cache' class that pulls/refreshes the data from the DB say every 60 minutes? (it's ran on multiple servers/load balanced, should be well architected for scalability and performance...)

Details:
The 'cache'/pulling class: I need _something_ (like EJB/Servlet) [Question 1: suggestions on what _it_ should be?] to start when the server starts (preferably when it starts VS first request to the resource) [Question 2: how to start it?]

Once started it pulls some data from DB into a HashMap/ArrayList and continuously pulls data once every 60 minutes from the DB - I should have a thread I guess? [Question 3: best way to implement this?]

And a custom tag class should pull the HashTabe from the above component every time a JSP page requests it...
Suggestions on the architecture?

Any tips, tricks, links, suggestions are much appreciated

Thank you all...