¿Cómo cargar @Cache al inicio en primavera?
Estoy usando spring-cache para mejorar las consultas de la base de datos, que funciona bien de la siguiente manera:
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("books");
}
@Cacheable("books")
public Book getByIsbn(String isbn) {
return dao.findByIsbn(isbn);
}
Pero ahora quiero rellenar previamente el caché de libros completo al inicio. Lo que significa que quiero llamardao.findAll()
y poner todos los valores en el caché. Esta rutina solo se debe programar periódicamente.
Pero, ¿cómo puedo rellenar explícitamente un caché cuando uso@Cacheable
?