当前位置: 首页>>代码示例>>Java>>正文


Java PersistentCacheManager.getStatus方法代码示例

本文整理汇总了Java中org.ehcache.PersistentCacheManager.getStatus方法的典型用法代码示例。如果您正苦于以下问题:Java PersistentCacheManager.getStatus方法的具体用法?Java PersistentCacheManager.getStatus怎么用?Java PersistentCacheManager.getStatus使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在org.ehcache.PersistentCacheManager的用法示例。


在下文中一共展示了PersistentCacheManager.getStatus方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: start

import org.ehcache.PersistentCacheManager; //导入方法依赖的package包/类
private void start(URI clusterUri, String offheap, String cacheManagerEntityName) {

    LOGGER.info("**** Programmatically configure an instance, configured to connect to : " + clusterUri + " ****");

    // from http://www.ehcache.org/documentation/3.3/clustered-cache.html
    final CacheManagerBuilder<PersistentCacheManager> clusteredCacheManagerBuilder =
        CacheManagerBuilder.newCacheManagerBuilder()
            .with(ClusteringServiceConfigurationBuilder.cluster(clusterUri.resolve(cacheManagerEntityName))
                .autoCreate()
                .defaultServerResource(offheap)
                .resourcePool("resource-pool-b", 32, MemoryUnit.MB, offheap))
            .withCache("clustered-cache", CacheConfigurationBuilder.newCacheConfigurationBuilder(Integer.class, String.class,
                ResourcePoolsBuilder.newResourcePoolsBuilder()
                    .with(ClusteredResourcePoolBuilder.clusteredDedicated(offheap, 32, MemoryUnit.MB))))
            .withCache("shared-cache-1", CacheConfigurationBuilder.newCacheConfigurationBuilder(Integer.class, String.class,
                ResourcePoolsBuilder.newResourcePoolsBuilder()
                    .with(ClusteredResourcePoolBuilder.clusteredShared("resource-pool-b"))))
            .withCache("shared-cache-2", CacheConfigurationBuilder.newCacheConfigurationBuilder(Integer.class, String.class,
                ResourcePoolsBuilder.newResourcePoolsBuilder()
                    .with(ClusteredResourcePoolBuilder.clusteredShared("resource-pool-b"))));

    final PersistentCacheManager cacheManager = clusteredCacheManagerBuilder.build(true);

    try {
      Cache<Integer, String> clusteredCache = cacheManager.getCache("clustered-cache", Integer.class, String.class);
      Cache<Integer, String> sharedCache1 = cacheManager.getCache("shared-cache-1", Integer.class, String.class);
      Cache<Integer, String> sharedCache2 = cacheManager.getCache("shared-cache-2", Integer.class, String.class);


      Random random = new Random();
      LOGGER.info("**** Starting inserting / getting elements **** ");
      while (!Thread.currentThread().isInterrupted() && cacheManager.getStatus() == Status.AVAILABLE) {
        // indexes spread between 0 and 999
        int index = random.nextInt(1000);
        if (random.nextInt(10) < 3) {
          // put
          String value = new BigInteger(1024 * 128 * (1 + random.nextInt(10)), random).toString(16);
          LOGGER.info("Inserting at key  " + index + " String of size : " + value.length() + " bytes");
          clusteredCache.put(index, value); // construct a big string of 256k data
          sharedCache1.put(index, value);
          sharedCache2.put(index, value);
        } else {
          // get
          String elementFromClusteredCache = clusteredCache.get(index);
          sharedCache1.get(index);
          sharedCache2.get(index);
          LOGGER.info("Getting key  " + index + (elementFromClusteredCache == null ? ", that was a miss" : ", THAT WAS A HIT !"));
        }
        TimeUnit.MILLISECONDS.sleep(100);
      }
    } catch (InterruptedException e) {
      LOGGER.error("Interrupted !", e);
    } finally {
      if (cacheManager != null) {
        cacheManager.close();
      }
    }
  }
 
开发者ID:Terracotta-OSS,项目名称:docker,代码行数:59,代码来源:ClientDoingInsertionsAndRetrievals.java


注:本文中的org.ehcache.PersistentCacheManager.getStatus方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。