List of usage examples for com.google.common.cache CacheBuilder expireAfterWrite
public CacheBuilder<K, V> expireAfterWrite(long duration, TimeUnit unit)
From source file:org.restheart.cache.impl.GuavaLoadingCache.java
public GuavaLoadingCache(long size, EXPIRE_POLICY expirePolicy, long ttl, Function<K, V> loader) { CacheBuilder builder = CacheBuilder.newBuilder(); builder.maximumSize(size);/*from ww w. j av a 2 s . c o m*/ if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_WRITE) { builder.expireAfterWrite(ttl, TimeUnit.MILLISECONDS); } else if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_READ) { builder.expireAfterAccess(ttl, TimeUnit.MILLISECONDS); } wrapped = builder.build(new CacheLoader<K, Optional<V>>() { @Override public Optional<V> load(K key) throws Exception { return Optional.ofNullable(loader.apply(key)); } }); }
From source file:org.restheart.cache.impl.GuavaCache.java
public GuavaCache(long size, EXPIRE_POLICY expirePolicy, long ttl) { CacheBuilder builder = CacheBuilder.newBuilder(); builder.maximumSize(size);/*from w w w . j a v a2 s . com*/ if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_WRITE) { builder.expireAfterWrite(ttl, TimeUnit.MILLISECONDS); } else if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_READ) { builder.expireAfterAccess(ttl, TimeUnit.MILLISECONDS); } wrapped = builder.build(); }
From source file:org.restheart.cache.impl.GuavaCache.java
public GuavaCache(long size, EXPIRE_POLICY expirePolicy, long ttl, Consumer<Map.Entry<K, Optional<V>>> remover) { CacheBuilder builder = CacheBuilder.newBuilder(); builder.maximumSize(size);/*from w w w .j a v a 2 s. c om*/ if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_WRITE) { builder.expireAfterWrite(ttl, TimeUnit.MILLISECONDS); } else if (ttl > 0 && expirePolicy == EXPIRE_POLICY.AFTER_READ) { builder.expireAfterAccess(ttl, TimeUnit.MILLISECONDS); } wrapped = builder.removalListener((RemovalNotification notification) -> { remover.accept(notification); }).build(); }
From source file:com.streamsets.pipeline.stage.processor.dedup.DeDupProcessor.java
@Override @SuppressWarnings("unchecked") protected List<ConfigIssue> init() { List<ConfigIssue> issues = super.init(); if (recordCountWindow <= 0) { issues.add(getContext().createConfigIssue(Groups.DE_DUP.name(), "recordCountWindow", Errors.DEDUP_00, recordCountWindow));/*from w ww . j av a 2 s . co m*/ } if (timeWindowSecs < 0) { issues.add(getContext().createConfigIssue(Groups.DE_DUP.name(), "timeWindowSecs", Errors.DEDUP_01, timeWindowSecs)); } if (compareFields == SelectFields.SPECIFIED_FIELDS && fieldsToCompare.isEmpty()) { issues.add(getContext().createConfigIssue(Groups.DE_DUP.name(), "compareFields", Errors.DEDUP_02)); } long estimatedMemory = MEMORY_USAGE_PER_HASH * recordCountWindow; long maxPipelineMemoryBytes = getContext().getPipelineMaxMemory() * 1000 * 1000; if (estimatedMemory > maxPipelineMemoryBytes) { issues.add(getContext().createConfigIssue(Groups.DE_DUP.name(), "recordCountWindow", Errors.DEDUP_03, recordCountWindow, estimatedMemory / (1000 * 1000), getContext().getPipelineMaxMemory())); //MiB to bytes conversion, use 1000 * 1000 instead of 1024 * 1024 } if (issues.isEmpty()) { hasher = HashingUtil.getHasher("murmur3_128"); funnel = (compareFields == SelectFields.ALL_FIELDS) ? HashingUtil.getRecordFunnel(Collections.EMPTY_LIST) : HashingUtil.getRecordFunnel(fieldsToCompare); CacheBuilder cacheBuilder = CacheBuilder.newBuilder(); if (timeWindowSecs > 0) { cacheBuilder.expireAfterWrite(timeWindowSecs, TimeUnit.SECONDS); } hashCache = cacheBuilder.build(new CacheLoader<HashCode, Object>() { @Override public Object load(HashCode key) throws Exception { return VOID; } }); hashBuffer = XEvictingQueue.create(recordCountWindow); hashAttrName = getInfo() + ".hash"; uniqueLane = getContext().getOutputLanes().get(OutputStreams.UNIQUE.ordinal()); duplicateLane = getContext().getOutputLanes().get(OutputStreams.DUPLICATE.ordinal()); } return issues; }
From source file:org.trimou.engine.cache.DefaultComputingCacheFactory.java
@Override public <K, V> ComputingCache<K, V> create(final String consumerId, final Function<K, V> computingFunction, final Long expirationTimeout, final Long maxSize, final Listener<K> listener) { CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); if (expirationTimeout != null && expirationTimeout > 0) { builder.expireAfterWrite(expirationTimeout, TimeUnit.MILLISECONDS); }//from w w w. j a v a2s. c o m if (maxSize != null) { builder.maximumSize(maxSize); } if (listener != null) { builder.removalListener(new RemovalListener<K, V>() { @Override public void onRemoval(RemovalNotification<K, V> notification) { listener.entryInvalidated(notification.getKey(), notification.getCause().toString()); } }); } return new LoadingCacheAdapter<K, V>(builder.build(new CacheLoaderAdapter<K, V>(computingFunction))); }
From source file:org.opennms.plugins.elasticsearch.rest.NodeCacheImpl.java
public void init() { if (cache == null) { LOG.info("initializing node data cache (TTL=" + MAX_TTL + "m, MAX_SIZE=" + MAX_SIZE + ")"); CacheBuilder cacheBuilder = CacheBuilder.newBuilder(); if (MAX_TTL > 0) { cacheBuilder.expireAfterWrite(MAX_TTL, TimeUnit.MINUTES); }/*w w w. j a va2s . c o m*/ if (MAX_SIZE > 0) { cacheBuilder.maximumSize(MAX_SIZE); } cache = cacheBuilder.build(new CacheLoader<Long, Map<String, String>>() { @Override public Map<String, String> load(Long key) throws Exception { return getNodeAndCategoryInfo(key); } }); } }
From source file:com.codeabovelab.dm.platform.cache.ConfigurableGuavaCacheManager.java
private com.google.common.cache.Cache<Object, SimpleValueWrapper> buildCache(CacheConfig cacheConfig) { CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); if (cacheConfig.getExpireAfterWrite() >= 0) { builder.expireAfterWrite(cacheConfig.getExpireAfterWrite(), TimeUnit.MILLISECONDS); }/* w w w . j a va 2 s. c om*/ return builder.build(); }
From source file:com.googlecode.webutilities.common.cache.impl.GoogleCache.java
public GoogleCache(CacheConfig<K, V> cacheConfig) { CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder().softValues(); // if(reloadAfterAccess > 0) // builder.expireAfterAccess(reloadAfterAccess, TimeUnit.SECONDS); if (cacheConfig.getReloadTime() > 0) builder.expireAfterWrite(cacheConfig.getReloadTime(), TimeUnit.SECONDS); googleCache = builder.build();//ww w. j a v a 2 s . c o m }
From source file:com.enitalk.configs.DateCache.java
@Bean(name = "exchangeCache") public LoadingCache<String, BigDecimal> exchange() { CacheBuilder<Object, Object> ccc = CacheBuilder.newBuilder(); ccc.expireAfterWrite(30, TimeUnit.MINUTES); LoadingCache<String, BigDecimal> cache = ccc.build(new CacheLoader<String, BigDecimal>() { @Override/*from w w w . java 2s .c om*/ public BigDecimal load(String key) throws Exception { try { return TinkoffController.exchangeRate(jackson); } catch (Exception e) { logger.error(ExceptionUtils.getFullStackTrace(e)); } return null; } }); return cache; }
From source file:org.eluder.jersey.mustache.ReloadingMustacheFactory.java
@Override protected LoadingCache<String, Mustache> createMustacheCache() { int templateExpiryMillis = getTemplateExpiryMillis(); CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder(); if (templateExpiryMillis > ETERNAL_CACHE_VALUE) { builder.expireAfterWrite(templateExpiryMillis, TimeUnit.MILLISECONDS); }/*from w w w .j ava 2 s . c o m*/ return builder.build(createMustacheCacheLoader()); }