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

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

Introduction

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

Prototype

public static CacheBuilder<Object, Object> newBuilder() 

Source Link

Document

Constructs a new CacheBuilder instance with default settings, including strong keys, strong values, and no automatic eviction of any kind.

Usage

From source file:com.jkoolcloud.tnt4j.streams.utils.StreamsCache.java

private static Cache<String, Object> buildCache(long cSize, long duration) {
    return CacheBuilder.newBuilder().maximumSize(cSize).expireAfterAccess(duration, TimeUnit.MINUTES).build();
}

From source file:com.watchrabbit.executor.service.CacheServiceImpl.java

private static synchronized void createCache(CacheConfig cacheConfig) {
    if (!caches.containsKey(cacheConfig.getCacheName())) {
        Cache<String, Object> cache = CacheBuilder.newBuilder().maximumSize(cacheConfig.getCacheSize())
                .expireAfterWrite(cacheConfig.getExpireTime(), TimeUnit.SECONDS).build();
        caches.put(cacheConfig.getCacheName(), cache);
    }/*from w  w  w.  j a va  2s  .c  o  m*/
}

From source file:com.rhythm.louie.cache.GuavaBasicCache.java

@SuppressWarnings("unchecked")
public static <K, V> GuavaBasicCache<K, V> permanent(String name) {
    return new GuavaBasicCache(name, CacheBuilder.newBuilder());
}

From source file:com.vsct.dt.hesperides.util.HesperidesCacheBuilder.java

/**
 * Create cache with easy setup.//  w w  w . jav  a  2 s  .co  m
 *
 * @param config setup
 * @param weigher Guava weighter
 *
 * @return cache
 */
public static CacheBuilder<Object, Object> newBuilder(final HesperidesCacheParameter config,
        final Weigher<? extends Object, ? extends Object> weigher) {
    final CacheBuilder<Object, Object> cache = CacheBuilder.newBuilder();

    if (config != null) {
        final int maxSize = config.getMaxSize();
        final int weight = config.getWeight();
        final String expire = config.getItemExpireAfter();

        if (maxSize != HesperidesCacheParameter.NOT_SET) {
            cache.maximumSize(maxSize);
        }

        if (weight != HesperidesCacheParameter.NOT_SET) {
            if (weigher == null) {
                throw new IllegalArgumentException("Parameter 'weight' is not supported for this cache.");
            }

            cache.maximumWeight(weight);
        }

        if (expire != null) {
            final Pattern p = Pattern.compile("^([0-9]+)(m|s|h|d)");
            final Matcher m = p.matcher(expire);

            if (m.find()) {
                final int time = Integer.valueOf(m.group(1));
                TimeUnit unit = TimeUnit.SECONDS;

                switch (m.group(2)) {
                case "m":
                    unit = TimeUnit.MINUTES;
                    break;
                case "h":
                    unit = TimeUnit.HOURS;
                    break;
                case "d":
                    unit = TimeUnit.DAYS;
                    break;
                default:
                    // Nothing
                }

                cache.expireAfterWrite(time, unit);
                cache.expireAfterAccess(time, unit);
            } else {
                throw new IllegalArgumentException(
                        "Parameter 'itemExpireAfter' is not valid. Valid usage is [0-9]+(m|h|d|s). (Where 'm' is minutes, 'h' is hours, 'd' is days, 's' seconds.");
            }
        }
    }

    return cache;
}

From source file:org.mkosem.impl.GuavaCache.java

public GuavaCache(int capacity, int concurrencyLevel) {
    cache_ = CacheBuilder.newBuilder().concurrencyLevel(concurrencyLevel).maximumSize(capacity)
            .initialCapacity(capacity).build();
}

From source file:com.streamsets.lib.security.http.DisconnectedSessionHandler.java

public DisconnectedSessionHandler() {
    principalsCache = CacheBuilder.newBuilder().expireAfterWrite(24, TimeUnit.HOURS).build();
}

From source file:org.nmdp.gl.client.ft.XmlGlClientFT.java

@BeforeClass
public static void staticSetUp() {
    httpClient = new RestAssuredHttpClient();
    loci = CacheBuilder.newBuilder().initialCapacity(10).build();
    locusIds = CacheBuilder.newBuilder().initialCapacity(10).build();
    alleles = CacheBuilder.newBuilder().initialCapacity(1000).build();
    alleleIds = CacheBuilder.newBuilder().initialCapacity(1000).build();
    xmlClient = new XmlGlClient("http://localhost:10080/gl/", httpClient, loci, locusIds, alleles, alleleIds);
}

From source file:org.opendaylight.openflowplugin.applications.frsync.util.SemaphoreKeeperGuavaImpl.java

public SemaphoreKeeperGuavaImpl(final int permits, final boolean fair) {
    semaphoreCache = CacheBuilder.newBuilder().concurrencyLevel(1).weakValues()
            .build(new CacheLoader<K, Semaphore>() {
                @Override// w  w w .  jav a 2 s .  c o m
                public Semaphore load(final K key) throws Exception {
                    return new Semaphore(permits, fair) {
                        private static final long serialVersionUID = 1L;
                    };
                }
            });
}

From source file:io.pravega.controller.store.stream.tables.Cache.java

public Cache(final Loader<T> loader) {
    cache = CacheBuilder.newBuilder().maximumSize(10000).expireAfterWrite(10, TimeUnit.MINUTES)
            .build(new CacheLoader<String, CompletableFuture<Data<T>>>() {
                @ParametersAreNonnullByDefault
                @Override/* w  ww.  j av a2  s .  co  m*/
                public CompletableFuture<Data<T>> load(final String key) {
                    CompletableFuture<Data<T>> result = loader.get(key);
                    result.exceptionally(ex -> {
                        invalidateCache(key);
                        return null;
                    });
                    return result;
                }
            });
}

From source file:uk.ac.ed.inf.ace.utils.HardCache.java

public HardCache(String name) {
    super(name, CacheBuilder.newBuilder().concurrencyLevel(1).build(new CacheLoader<SupplierEx<?>, Object>() {
        @Override/* w  ww .j  a  v a2s.  c o m*/
        public Object load(SupplierEx<?> key) throws Exception {
            return key.get();
        }
    }));
}