Поведение entrySet (). RemoveIf в кэше кофеина - PullRequest
0 голосов
/ 12 февраля 2020

Я внедрил кеш кофеина в моем проекте. В некоторых случаях я хочу удалить несколько указанных ключей c из него вручную, используя entrySet().removeIf(). Реализация выглядит следующим образом:

Cache someCache = cacheManager.getCache("someCache");
ConcurrentMap<Pair<String, String>, Object> someCacheMap = ((com.github.benmanes.caffeine.cache.Cache) someCache.getNativeCache()).asMap();
someCacheMap.entrySet().removeIf(entry -> entry.getKey().getLeft().equals("someValue"));

Здесь - это вопрос, в котором упоминается проблема с неправильным поведением entrySet().removeIf при вызове ConcurrentHashMap. Вот ошибка , исправленная в 9 Java, но я использую 8.

Безопасно ли использовать поток removeIf в моем случае?

...