I have a requirement to cache some data (not very large data) in the business layer consisting of EJBs - version prior to 3.1. I am planning to use a Singleton for this. Also, I need to refresh this data every 6 hours and for this I am planning to use the java.util.concurrent.ScheduledExecutorService. This object will be used by stateless session beans. Are there any issues around this design - especially in terms of using the schedular inside the EJB container (though I am using it in a POJO and not in managed beans)? Or any other concurrent issues? Are there any other better approaches?
It'll be helpful to recieve thoughts/ideas/opinions.