Spring Boot Caching при запуске сервера - PullRequest
0 голосов
/ 12 декабря 2018

Я нашел так много ссылок о Spring Boot Caching.

Я могу реализовать на уровне метода репозитория.

@Cacheable(value = "booksByCategory", key = "#p0.categoryId", unless = "#result == null")
@EntityGraph(attributePaths = { "category" })
List<Book> findAllByCategoryId(Category category);

Я бы хотел кэшировать данные при запуске сервера вместо включенияпервый запросКак это сделать?

1 Ответ

0 голосов
/ 16 декабря 2018

Если вы действительно хотите «предварительно загрузить» кэш, вы можете вызвать findAllByCategoryId (category) для каждой ожидаемой категории в методе @PostConstruct для класса, который содержит этот метод;Например:

@PostContstruct
void initCache() {
proxyRefToThisBean.findAllByCategoryId(cat1);
proxyRefToThisBean.findAllByCategoryId(cat2);
...
}

Метод, аннотированный PostConstruct, будет вызываться во время запуска, когда инициализируются ваши зависимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...