Wie lade ich @Cache beim Start im Frühjahr?
Ich verwende den Spring-Cache, um Datenbankabfragen zu verbessern. Dies funktioniert folgendermaßen:
@Bean
public CacheManager cacheManager() {
return new ConcurrentMapCacheManager("books");
}
@Cacheable("books")
public Book getByIsbn(String isbn) {
return dao.findByIsbn(isbn);
}
Aber jetzt möchte ich den gesamten Buch-Cache beim Start vorab füllen. Was bedeutet, dass ich @ anrufen möchdao.findAll()
und alle Werte in den Cache stellen. Diese Routine soll dann nur periodisch eingeplant werden.
Aber wie kann ich einen Cache explizit füllen, wenn ich @ benutz@Cacheable
?