/** Adds the Caffeine eager expiration settings. */ public void addEagerExpiration() { if (isSet("policy.eager-expiration.after-write")) { long nanos = merged.getDuration("policy.eager-expiration.after-write", NANOSECONDS); configuration.setExpireAfterWrite(OptionalLong.of(nanos)); } if (isSet("policy.eager-expiration.after-access")) { long nanos = merged.getDuration("policy.eager-expiration.after-access", NANOSECONDS); configuration.setExpireAfterAccess(OptionalLong.of(nanos)); } if (isSet("policy.eager-expiration.variable")) { configuration.setExpiryFactory(Optional.of(FactoryBuilder.factoryOf( merged.getString("policy.eager-expiration.variable")))); } }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setExpiryFactory(Optional.of(() -> expiry)); configuration.setTickerFactory(() -> ticker::read); return configuration; }
@Override protected CaffeineConfiguration<Integer, Integer> getConfiguration() { CacheEntryRemovedListener<Integer, Integer> listener = events -> removed.incrementAndGet(); CaffeineConfiguration<Integer, Integer> configuration = new CaffeineConfiguration<>(); configuration.setMaximumSize(OptionalLong.of(MAXIMUM)); CacheEntryListenerConfiguration<Integer, Integer> listenerConfiguration = new MutableCacheEntryListenerConfiguration<>(() -> listener, /* filterFactory */ null, /* isOldValueRequired */ false, /* isSynchronous */ true); configuration.addCacheEntryListenerConfiguration(listenerConfiguration); configuration.setExecutorFactory(MoreExecutors::directExecutor); configuration.setExpiryFactory(Optional.of(() -> expiry)); configuration.setTickerFactory(() -> ticker::read); return configuration; }
/** Adds the Caffeine eager expiration settings. */ public void addEagerExpiration() { if (isSet("policy.eager-expiration.after-write")) { long nanos = merged.getDuration("policy.eager-expiration.after-write", NANOSECONDS); configuration.setExpireAfterWrite(OptionalLong.of(nanos)); } if (isSet("policy.eager-expiration.after-access")) { long nanos = merged.getDuration("policy.eager-expiration.after-access", NANOSECONDS); configuration.setExpireAfterAccess(OptionalLong.of(nanos)); } if (isSet("policy.eager-expiration.variable")) { configuration.setExpiryFactory(Optional.of(FactoryBuilder.factoryOf( merged.getString("policy.eager-expiration.variable")))); } }