in jetcache-core/src/main/java/com/alicp/jetcache/embedded/LinkedHashMapCache.java [63:91]
void cleanExpiredEntry() {
lock.lock();
long t = System.currentTimeMillis();
try {
for (Iterator it = entrySet().iterator(); it.hasNext(); ) {
Map.Entry en = (Map.Entry) it.next();
Object value = en.getValue();
if (value != null) {
CacheValueHolder h;
try {
h = (CacheValueHolder) value;
} catch (ClassCastException e) {
// assert false
logger.error("value of key " + en.getKey() + " is not a CacheValueHolder. type=" + value.getClass());
it.remove();
continue;
}
if (t >= h.getExpireTime()) {
it.remove();
}
} else {
// assert false
logger.error("key " + en.getKey() + " is null");
}
}
} finally {
lock.unlock();
}
}