in src/main/java/org/apache/geronimo/jcache/simple/SimpleCache.java [392:420]
private V doGetControllingExpiry(final long getStart, final K key, final boolean updateAcess, final boolean forceDoLoad,
final boolean skipLoad, final boolean propagateLoadException, final CacheLoader<K, V> loader) {
final boolean statisticsEnabled = config.isStatisticsEnabled();
final SimpleKey<K> simpleKey = new SimpleKey<>(key);
final SimpleElement<V> elt = delegate.get(simpleKey);
V v = elt != null ? elt.getElement() : null;
if (v == null && (config.isReadThrough() || forceDoLoad)) {
if (!skipLoad) {
v = doLoad(key, false, propagateLoadException, loader);
}
} else if (statisticsEnabled) {
if (v != null) {
statistics.increaseHits(1);
} else {
statistics.increaseMisses(1);
}
}
if (updateAcess && elt != null) {
final Duration expiryForAccess = expiryPolicy.getExpiryForAccess();
if (!isNotZero(expiryForAccess)) {
expires(simpleKey);
}
}
if (statisticsEnabled && v != null) {
statistics.addGetTime(Times.now(false) - getStart);
}
return v;
}