Обновление весеннего загрузочного кэша каждые 5 часов - PullRequest
0 голосов
/ 09 октября 2018

Требование: обновлять кэш с некоторыми данными каждые 5 часов

Класс планировщика

@Component
public class SomeCacheDataUpdateScheduler{


    @Autowired
    DataFeignClient feignClient;

    @Autowired
    private CacheManager cacheManager;


    @Scheduled(fixedDelay = 2000)
    public void run()  {
        List<SomeObject> objList=feignClient.findAllData();


        objList.forEach(obj->cacheManager.getCache("cache-name").put(obj.getId(), obj));
    }

}

Класс конфигурации диспетчера кэша

@Configuration
public class CacheConfig{

    @Bean
    public CacheManager cacheManager() {
        return new ConcurrentMapCacheManager("cache-name");
    }

}

Теперь, при отладке, я знаю, что "feignClient.findAllData ();"возвращает нужный объект.Но почему-то кеш не заполняется.И когда я получаю определенное значение из кэшированной карты, используя действительный ключ, он возвращает нулевое значение.

SomeObject sObj=cacheManager.getCache("cache-name").get("203",SomeObject.class);

Вышеуказанный вызов выполняется после запуска планировщика.

ЯБудем весьма благодарны за абсолютно новый механизм кэширования Spring Boot, и любая помощь в этом вопросе, а также передовые методы кэширования!

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