One option is to have a singleton session bean. It can be created automatically when the application starts and it's lifecycle methods can be used to get and cache whatever you need. This will be retained throughout the application life. If you need more advanced caching solutions, you'll want to look at the JSR for jcache.
Java EE Evangelist — Author, EJB 3 in Action 2nd Edition — Java Community Process Member