in method
com.github.benmanes.caffeine.jcache.CacheProxy::setAccessExpirationTime(Expirable<?> expirable, long currentTimeMS)
Line 1077: currentTimeMS = ticker.read(); is wrong.
ticker.read(); returns the current time in nano seconds resulting in the getExpiryForAccess feature not being honored.
The correct line should read
currentTimeMS = nanosToMillis(ticker.read());
The current workaround is to enable statistics, which pre-populates currentTimeMS from a correct value.