Автоматически настроенный кеш с помощью ConcurrentMapCacheManager, сбор мусора при выселении не производится.JAVA

Программисты JAVA общаются здесь
Anonymous
Автоматически настроенный кеш с помощью ConcurrentMapCacheManager, сбор мусора при выселении не производится.

Сообщение Anonymous »

В микросервисе Springboot у нас есть @EnableCaching, но не указаны поставщики кэша.
Я вижу, что он настроен ConcurrentMapCacheManager по приведенному ниже журналу.

Код: Выделить всё

logger.info("Cache Manager: " + cacheManager.getClass().getName());
Благодаря этому мы кэшируем большой объект, создание которого занимает много времени, как показано ниже.

Код: Выделить всё

 @Cacheable(value = "KieBase", key = "#ruleSet.id + #ruleSet.timeUpdated")
Теперь мы начали видеть, что память занимает более 90% из 20 ГБ памяти контейнера.
После анализа дампа мы видим много кэшированных данных в память, хотя есть выселение, как показано ниже.

Код: Выделить всё

@CacheEvict(value = "KieBase", allEntries = true) and respective TTLl
@Scheduled(fixedRateString = "${ruleset.cacheTTLinMillis}")
когда кеш вытесняется, как об этом позаботится GC?
или Как кэшированная память весной обрабатывается после вытеснения?

Подробнее здесь: https://stackoverflow.com/questions/784 ... age-collec

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