Example usage for com.google.common.cache CacheBuilder maximumSize

List of usage examples for com.google.common.cache CacheBuilder maximumSize

Introduction

In this page you can find the example usage for com.google.common.cache CacheBuilder maximumSize.

Prototype

long maximumSize

To view the source code for com.google.common.cache CacheBuilder maximumSize.

Click Source Link

Usage

From source file:com.navercorp.pinpoint.profiler.context.active.ActiveTraceRepository.java

private ConcurrentMap<Long, ActiveTrace> createCache(int maxActiveTraceSize) {
    final CacheBuilder<Object, Object> cacheBuilder = CacheBuilder.newBuilder();
    cacheBuilder.concurrencyLevel(64);//from   w  w w . j  a  va 2 s.c om
    cacheBuilder.initialCapacity(maxActiveTraceSize);
    cacheBuilder.maximumSize(maxActiveTraceSize);
    // OOM defense
    cacheBuilder.weakValues();

    final Cache<Long, ActiveTrace> localCache = cacheBuilder.build();
    return localCache.asMap();
}

From source file:com.github.fge.jsonschema.core.load.SchemaLoader.java

/**
 * Create a new schema loader with a given loading configuration
 *
 * @param cfg the configuration/* w  w w  .  j  av  a2  s . c  o m*/
 * @see LoadingConfiguration
 * @see LoadingConfigurationBuilder
 */
public SchemaLoader(final LoadingConfiguration cfg) {
    translator = new URITranslator(cfg.getTranslatorConfiguration());
    dereferencing = cfg.getDereferencing();
    manager = new URIManager(cfg);
    preloadedSchemas = ImmutableMap.copyOf(cfg.getPreloadedSchemas());

    CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder();
    if (cfg.getCacheSize() != -1) {
        builder.maximumSize(cfg.getCacheSize());
    }
    cache = builder.build(new CacheLoader<URI, JsonNode>() {
        @Nonnull
        @Override
        public JsonNode load(@Nonnull final URI key) throws ProcessingException {
            return manager.getContent(key);
        }
    });
}

From source file:org.locationtech.geogig.di.caching.CacheFactory.java

protected synchronized void createCache() {
    if (cache != null) {
        return;/*  w w w  . ja  v  a 2s  .co  m*/
    }
    if (!cacheIsEnabled()) {
        this.cache = NO_CACHE;
        return;
    }
    final int maxSize = getConfig("maxSize", 50_000);
    final int concurrencyLevel = getConfig("concurrencyLevel", 4);

    final int expireSeconds = getConfig("expireSeconds", 300);
    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);
    cacheBuilder.softValues();

    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:com.softinstigate.restheart.handlers.injectors.LocalCachesSingleton.java

private void setup() {
    if (!initialized) {
        throw new IllegalStateException("not initialized");
    }/*ww  w .  ja v  a2  s.co  m*/

    CacheBuilder builder = CacheBuilder.newBuilder();

    builder.maximumSize(maxCacheSize);

    if (ttl > 0) {
        builder.expireAfterWrite(ttl, TimeUnit.MILLISECONDS);
    }

    if (enabled) {
        this.dbPropsCache = builder.build(new CacheLoader<String, Optional<DBObject>>() {
            @Override
            public Optional<DBObject> load(String key) throws Exception {
                return Optional.ofNullable(DBDAO.getDbProps(key));
            }
        });

        this.collectionPropsCache = builder.build(new CacheLoader<String, Optional<DBObject>>() {
            @Override
            public Optional<DBObject> load(String key) throws Exception {
                String[] dbNameAndCollectionName = key.split(SEPARATOR);
                return Optional.ofNullable(CollectionDAO.getCollectionProps(dbNameAndCollectionName[0],
                        dbNameAndCollectionName[1]));
            }
        });
    }
}

From source file:it.polimi.diceH2020.SPACE4CloudWS.main.Configurator.java

@Bean
public CacheBuilder<Object, Object> builder() {
    CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder();
    CacheSettings cache = settings.getCache();
    builder.maximumSize(cache.getSize()).expireAfterAccess(cache.getDaysBeforeExpire(), TimeUnit.DAYS);
    if (cache.isRecordStats())
        builder.recordStats();/*from   w ww . j  a  va2  s .  co  m*/
    return builder;
}

From source file:net.voxton.mafiacraft.core.player.PlayerManager.java

/**
 * Creates the player cache./*from w  w w.  j ava2 s  . c  om*/
 */
private void buildCache() {
    CacheBuilder builder = CacheBuilder.newBuilder();

    builder.maximumSize(10000).expireAfterWrite(10, TimeUnit.MINUTES);

    builder.removalListener(new RemovalListener<String, MPlayer>() {

        @Override
        public void onRemoval(RemovalNotification<String, MPlayer> rn) {
            savePlayer(rn.getValue());
        }

    });

    players = builder.build(new CacheLoader<String, MPlayer>() {

        @Override
        public MPlayer load(String key) throws Exception {
            return loadPlayer(key);
        }

    });
}

From source file:org.apache.apex.malhar.lib.db.cache.CacheStore.java

@Override
public void connect() throws IOException {
    open = true;// w  w  w  .java  2s  .  c  o m

    if (numInitCacheLines > maxCacheSize) {
        logger.warn("numInitCacheLines = {} is greater than maxCacheSize = {}, maxCacheSize was set to {}",
                numInitCacheLines, maxCacheSize, numInitCacheLines);
        maxCacheSize = numInitCacheLines;
    }

    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();

    if (entryExpiryStrategy == ExpiryType.NO_EVICTION) {
        return;
    }

    this.cleanupScheduler = Executors.newScheduledThreadPool(1);
    cleanupScheduler.scheduleAtFixedRate(new Runnable() {
        @Override
        public void run() {
            cache.cleanUp();
        }
    }, cacheCleanupIntervalInMillis, cacheCleanupIntervalInMillis, TimeUnit.MILLISECONDS);
}

From source file:com.navercorp.pinpoint.profiler.modifier.spring.beans.interceptor.TargetBeanFilter.java

private Cache<Class<?>, Object> createCache() {
    final CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder();
    builder.concurrencyLevel(CACHE_CONCURRENCY_LEVEL);
    builder.maximumSize(CACHE_SIZE);
    builder.weakKeys();//  w  w w.  j  a  va2s. c o  m
    return builder.build();
}

From source file:com.streamsets.pipeline.stage.processor.kv.LookupProcessor.java

private LoadingCache<String, Optional<String>> buildCache() {
    CacheBuilder build = CacheBuilder.newBuilder();
    if (!conf.cache.enabled) {
        return build.maximumSize(0).build(new StoreCacheLoader(store));
    }/*  w  w  w.ja  va 2 s.  c  om*/

    // CacheBuilder doesn't support specifying type thus suffers from erasure, so
    // we build it with this if / else logic.
    if (conf.cache.maxSize == -1) {
        conf.cache.maxSize = Long.MAX_VALUE;
    }
    build.maximumSize(conf.cache.maxSize);
    if (conf.cache.evictionPolicyType == EvictionPolicyType.EXPIRE_AFTER_ACCESS) {
        build.expireAfterAccess(conf.cache.expirationTime, conf.cache.timeUnit);
    } else if (conf.cache.evictionPolicyType == EvictionPolicyType.EXPIRE_AFTER_WRITE) {
        build.expireAfterWrite(conf.cache.expirationTime, conf.cache.timeUnit);
    } else {
        throw new IllegalArgumentException(
                Utils.format("Unrecognized EvictionPolicyType: '{}'", conf.cache.evictionPolicyType));
    }
    return build.build(new StoreCacheLoader(store));
}

From source file:org.eclipse.osee.cache.admin.internal.CacheFactory.java

private CacheBuilder<Object, Object> createCacheBuilder(CacheConfiguration config) {
    CacheBuilder<Object, Object> builder = CacheBuilder.newBuilder();
    if (config.hasInitialCapacity()) {
        builder = builder.initialCapacity(config.getInitialCapacity());
    }/*from  w  w w. j  a va  2  s  . c o  m*/
    if (config.hasMaximumSize()) {
        builder = builder.maximumSize(config.getMaximumSize());
    }
    if (config.isExpireAfterAccess()) {
        Pair<Long, TimeUnit> data = config.getExpireAfterAccess();
        builder = builder.expireAfterAccess(data.getFirst(), data.getSecond());
    }
    if (config.isExpireAfterWrite()) {
        Pair<Long, TimeUnit> data = config.getExpireAfterWrite();
        builder = builder.expireAfterWrite(data.getFirst(), data.getSecond());
    }
    if (config.isRefreshAfterWrite()) {
        Pair<Long, TimeUnit> data = config.getRefreshAfterWrite();
        builder = builder.refreshAfterWrite(data.getFirst(), data.getSecond());
    }
    return builder;
}