List of usage examples for com.google.common.cache CacheBuilder build
public <K1 extends K, V1 extends V> Cache<K1, V1> build()
From source file:com.tesora.dve.sql.schema.cache.SchemaCache.java
private Cache<SchemaCacheKey<?>, Object> buildCache(int size) { CacheBuilder<SchemaCacheKey<?>, Object> boo = CacheBuilder.newBuilder().removalListener(this).recordStats(); if (size > -1) boo = boo.maximumSize(size);/*from w w w . j av a 2s .co m*/ return boo.build(); }
From source file:org.elasticsearch.script.ScriptService.java
@Inject public ScriptService(Settings settings, Environment env, Set<ScriptEngineService> scriptEngines, ResourceWatcherService resourceWatcherService) { super(settings); int cacheMaxSize = componentSettings.getAsInt("cache.max_size", 500); TimeValue cacheExpire = componentSettings.getAsTime("cache.expire", null); logger.debug("using script cache with max_size [{}], expire [{}]", cacheMaxSize, cacheExpire); this.defaultLang = componentSettings.get("default_lang", "mvel"); this.disableDynamic = componentSettings.getAsBoolean("disable_dynamic", true); CacheBuilder cacheBuilder = CacheBuilder.newBuilder(); if (cacheMaxSize >= 0) { cacheBuilder.maximumSize(cacheMaxSize); }/*from w w w . j a v a 2 s .c o m*/ if (cacheExpire != null) { cacheBuilder.expireAfterAccess(cacheExpire.nanos(), TimeUnit.NANOSECONDS); } this.cache = cacheBuilder.build(); ImmutableMap.Builder<String, ScriptEngineService> builder = ImmutableMap.builder(); for (ScriptEngineService scriptEngine : scriptEngines) { for (String type : scriptEngine.types()) { builder.put(type, scriptEngine); } } this.scriptEngines = builder.build(); // put some default optimized scripts staticCache.put("doc.score", new CompiledScript("native", new DocScoreNativeScriptFactory())); // add file watcher for static scripts scriptsDirectory = new File(env.configFile(), "scripts"); FileWatcher fileWatcher = new FileWatcher(scriptsDirectory); fileWatcher.addListener(new ScriptChangesListener()); if (componentSettings.getAsBoolean("auto_reload_enabled", true)) { // automatic reload is enabled - register scripts resourceWatcherService.add(fileWatcher); } else { // automatic reload is disable just load scripts once fileWatcher.init(); } }
From source file:org.elasticsearch.indices.cache.filter.terms.IndicesTermsFilterCache.java
@Inject public IndicesTermsFilterCache(Settings settings, Client client) { super(settings); this.client = client; ByteSizeValue size = componentSettings.getAsBytesSize("size", new ByteSizeValue(10, ByteSizeUnit.MB)); TimeValue expireAfterWrite = componentSettings.getAsTime("expire_after_write", null); TimeValue expireAfterAccess = componentSettings.getAsTime("expire_after_access", null); CacheBuilder<BytesRef, TermsFilterValue> builder = CacheBuilder.newBuilder().maximumWeight(size.bytes()) .weigher(new TermsFilterValueWeigher()); if (expireAfterAccess != null) { builder.expireAfterAccess(expireAfterAccess.millis(), TimeUnit.MILLISECONDS); }//from www .j av a 2 s . c om if (expireAfterWrite != null) { builder.expireAfterWrite(expireAfterWrite.millis(), TimeUnit.MILLISECONDS); } this.cache = builder.build(); }
From source file:org.geogit.di.caching.CacheFactory.java
protected synchronized void createCache() { if (cache != null) { return;/*from www .j a va 2s .co m*/ } if (!cacheIsEnabled()) { this.cache = NO_CACHE; return; } final int maxSize = getConfig("maxSize", 50 * 1000); final int concurrencyLevel = getConfig("concurrencyLevel", 0); if (concurrencyLevel == 0) { this.cache = new SimpleCache<ObjectId, RevObject>(maxSize); LOGGER.info("Cache '{}' configured with maxSize: {}", configKeywordPrefix, maxSize); return; } final int expireSeconds = getConfig("expireSeconds", 30); final int initialCapacity = getConfig("initialCapacity", 10 * 1000); CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder = cacheBuilder.maximumSize(maxSize); cacheBuilder.expireAfterAccess(expireSeconds, TimeUnit.SECONDS); cacheBuilder.initialCapacity(initialCapacity); cacheBuilder.concurrencyLevel(concurrencyLevel); try { this.cache = cacheBuilder.build(); } catch (RuntimeException e) { LOGGER.error( "Error configuring cache '{}' with maxSize: {}, expireSeconds: {}, initialCapacity: {}, concurrencyLevel: {}", configKeywordPrefix, maxSize, expireSeconds, initialCapacity, concurrencyLevel, e); throw e; } LOGGER.debug( "Cache '{}' configured with maxSize: {}, expireSeconds: {}, initialCapacity: {}, concurrencyLevel: {}", configKeywordPrefix, maxSize, expireSeconds, initialCapacity, concurrencyLevel); }
From source file:org.socraticgrid.workbench.service.KnowledgeModuleServiceProcessor.java
private KnowledgeModuleServiceProcessor() { try {//from www. ja va 2 s . co m String implName = ApplicationSettings.getInstance().getSetting("knowledge.module.service.impl"); this.knowledgeModuleService = (KnowledgeModuleService) Class.forName(implName).newInstance(); useReferenceDataCache = Boolean.parseBoolean(ApplicationSettings.getInstance() .getSetting("knowledge.module.service.cache.enabled", "false")); if (useReferenceDataCache) { String maxCacheSize = ApplicationSettings.getInstance() .getSetting("knowledge.module.service.cache.maxsize"); String cacheExpirationTime = ApplicationSettings.getInstance() .getSetting("knowledge.module.service.cache.expiration"); CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); if (maxCacheSize != null) { cacheBuilder.maximumSize(Long.parseLong(maxCacheSize)); } if (cacheExpirationTime != null) { cacheBuilder.expireAfterWrite(Long.parseLong(maxCacheSize), TimeUnit.MINUTES); } this.referenceDataCache = cacheBuilder.build(); } } catch (Exception ex) { throw new IllegalStateException(ex); } }
From source file:com.bazaarvoice.dropwizard.caching.LocalCacheConfiguration.java
public Cache<String, CachedResponse> buildCache() { CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); if (!_expire.isPresent() && !_maximumSize.isPresent()) { cacheBuilder.maximumSize(0);//from w ww .j av a2 s .co m } else { if (_expire.isPresent()) { Duration expire = _expire.get(); cacheBuilder.expireAfterWrite(expire.getQuantity(), expire.getUnit()); } if (_maximumSize.isPresent()) { cacheBuilder.weigher(CachedResponseWeigher.INSTANCE).maximumWeight(_maximumSize.get().toBytes()); } } return cacheBuilder.build(); }
From source file:com.datatorrent.lib.db.cache.CacheStore.java
@Override public void connect() throws IOException { open = true;/*from w w w . j av a 2 s . c o m*/ CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder(); cacheBuilder.maximumSize(maxCacheSize); if (entryExpiryStrategy == ExpiryType.EXPIRE_AFTER_ACCESS) { cacheBuilder.expireAfterAccess(entryExpiryDurationInMillis, TimeUnit.MILLISECONDS); } else if (entryExpiryStrategy == ExpiryType.EXPIRE_AFTER_WRITE) { cacheBuilder.expireAfterWrite(entryExpiryDurationInMillis, TimeUnit.MILLISECONDS); } cache = cacheBuilder.build(); this.cleanupScheduler = Executors.newScheduledThreadPool(1); cleanupScheduler.scheduleAtFixedRate(new Runnable() { @Override public void run() { cache.cleanUp(); } }, cacheCleanupIntervalInMillis, cacheCleanupIntervalInMillis, TimeUnit.MILLISECONDS); }
From source file:org.apache.hadoop.hive.ql.io.orc.LocalCache.java
LocalCache(int numThreads, long cacheMemSize, boolean useSoftRef) { CacheBuilder<Path, TailAndFileData> builder = CacheBuilder.newBuilder() .initialCapacity(DEFAULT_CACHE_INITIAL_CAPACITY).concurrencyLevel(numThreads) .maximumWeight(cacheMemSize).weigher(new Weigher<Path, TailAndFileData>() { @Override/* w ww.jav a2s .com*/ public int weigh(Path key, TailAndFileData value) { return value.getMemoryUsage(); } }); if (useSoftRef) { builder = builder.softValues(); } cache = builder.build(); }
From source file:com.sri.ai.util.cache.DefaultCacheMap.java
private void initStorage() { CacheBuilder<Object, Object> cb = CacheBuilder.newBuilder(); if (weakKeys) { cb.weakKeys();//from w w w.ja v a 2 s .co m } // Note: a maximumSize of // < 0 means no size restrictions // = 0 means no cache // > 0 means maximum size of cache if (maximumSize >= 0L) { cb.maximumSize(maximumSize); } if (AICUtilConfiguration.isRecordCacheStatistics()) { cb.recordStats(); } storage = cb.build(); delegate = storage.asMap(); }
From source file:org.alfresco.repo.cache.DefaultSimpleCache.java
/** * Construct a cache using the specified capacity and name. * /*from w w w .ja v a 2 s . com*/ * @param maxItems The cache capacity. 0 = use {@link #DEFAULT_CAPACITY} * @param useMaxItems Whether the maxItems value should be applied as a size-cap for the cache. * @param cacheName An arbitrary cache name. */ @SuppressWarnings("unchecked") public DefaultSimpleCache(int maxItems, boolean useMaxItems, int ttlSecs, int maxIdleSecs, String cacheName) { if (maxItems == 0) { maxItems = DEFAULT_CAPACITY; } else if (maxItems < 0) { throw new IllegalArgumentException("maxItems may not be negative, but was " + maxItems); } this.maxItems = maxItems; this.useMaxItems = useMaxItems; this.ttlSecs = ttlSecs; this.maxIdleSecs = maxIdleSecs; setBeanName(cacheName); // The map will have a bounded size determined by the maxItems member variable. @SuppressWarnings("rawtypes") CacheBuilder builder = CacheBuilder.newBuilder(); if (useMaxItems) { builder.maximumSize(maxItems); } if (ttlSecs > 0) { builder.expireAfterWrite(ttlSecs, TimeUnit.SECONDS); } if (maxIdleSecs > 0) { builder.expireAfterAccess(maxIdleSecs, TimeUnit.SECONDS); } builder.concurrencyLevel(32); cache = (Cache<K, AbstractMap.SimpleImmutableEntry<K, V>>) builder.build(); }