Я использую spring-cache для улучшения запросов к базе данных, который отлично работает следующим образом:
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("books");
}
@Cacheable("books")
public Book getByIsbn(String isbn) {
return dao.findByIsbn(isbn);
}
Но теперь я хочу предварительно заполнить полный книжный кеш при запуске. Это означает, что я хочу вызвать dao.findAll()
и поместить все значения в кеш. Эта процедура должна быть запланирована только периодически.
Но как я могу явно заполнить кеш при использовании @Cacheable
?