Если вы находитесь в полной среде JEE, я бы создал аннотированный метод Schedule
:
import javax.ejb.Schedule;
@Singleton
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
public class BpNotificationCacheBean {
private static final int CACHE_SIZE = 1000;
private Map<String, Boolean> cacheMap;
...
@Lock(LockType.WRITE)
@Schedule(hour = "1", persistent = false)
private void resetCache() {
cacheMap = new LRUMap(CACHE_SIZE);
}
}
Ключом является аннотация Schedule, являющаяся частью Java EE TimerСервис .Аннотация, которую я показываю, запускается 01:00 (1:00) каждый день, но посмотрите документы, чтобы показать, как это изменить.