Аннотация @CachePut не работает, но метод .put работаетJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Аннотация @CachePut не работает, но метод .put работает

Сообщение Anonymous »

Я попробовал аннотацию @CachePut в методе updateCategoryCacheForCountry, но она не сработала. Но
если делать это программно, получая кеш и используя .put, все работает нормально. В чем может быть причина?
Я использую Spring Cache. Метод вызывается методом @Scheduled.
// @CachePut(key = "#country")
public CacheCategories updateCategoryCacheForCountry(String country) {
CacheCategories categories = requestDirectus(country);

Cache categoriesCache = cacheManager.getCache("categories");
categoriesCache.put(country, categories);

return categories;
}

@Scheduled(fixedDelay = 300000) //5m
protected void updateCategories() {
String[] countries = {esConfig.getStoreArgentina(), esConfig.getStoreChile(), esConfig.getStoreParaguay(), esConfig.getStoreBolivia()};

for (String country : countries) {
updateCategoryCacheForCountry(country);
}
}

@EnableCaching
@Configuration
@EnableScheduling
public class CacheConfig {

@Bean // Configuramos el cache a utilizar
public CacheManager cacheManager() {
SimpleCacheManager cacheManager = new SimpleCacheManager();
cacheManager.setCaches(Arrays.asList(
new ConcurrentMapCache("categories"),
new ConcurrentMapCache("token")
));
return cacheManager;
}
}


Подробнее здесь: https://stackoverflow.com/questions/787 ... d-put-does
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»