Автоматически настроенный кеш с помощью 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
Ответить

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

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

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

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

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