Я создаю конечную точку в моем приложении весенней загрузки, которое извлекает данные из нескольких источников, обрабатывает их в соответствии с пользовательским вводом и возвращает результат.Сбор данных требует много времени.Я не хочу, чтобы запрашивающая сторона ожидала, когда сетевые данные извлекаются каждый раз, поскольку данные обновляются не очень часто.Поэтому я добавил ehcache в систему, которая кеширует данные сети для повышения производительности.
Время истечения моего кэша составляет 15 минут.Я хотел бы знать, есть ли встроенный способ перестроить кеш автоматически в каком-то другом потоке после его истечения.Я попытался использовать задачу таймера.Это работает, но выглядит как взломать.Я просмотрел документацию, но не смог найти никаких ссылок на восстановление кеша по истечении срока действия.
@Cacheable("channels")
public List<Channel> fetchAllData() {
// expensive network calls
}
Кроме того, является ли ehcache подходящим кандидатом для моих требований или я должен искать что-то еще?Спасибо.