Exemplo n.º 1
0
 /**
  * Create a cache given a cache configuration
  *
  * @param cacheConfiguration
  */
 final Ehcache createCache(CacheConfiguration cacheConfiguration) {
   Ehcache cache =
       new Cache(
           cacheConfiguration.name,
           cacheConfiguration.maxElementsInMemory,
           cacheConfiguration.memoryStoreEvictionPolicy,
           cacheConfiguration.overflowToDisk,
           getDiskStorePath(),
           cacheConfiguration.eternal,
           cacheConfiguration.timeToLiveSeconds,
           cacheConfiguration.timeToIdleSeconds,
           cacheConfiguration.diskPersistent,
           cacheConfiguration.diskExpiryThreadIntervalSeconds,
           null,
           null,
           cacheConfiguration.maxElementsOnDisk,
           cacheConfiguration.diskSpoolBufferSizeMB);
   RegisteredEventListeners listeners = cache.getCacheEventNotificationService();
   registerCacheListeners(cacheConfiguration, listeners);
   registerCacheExtensions(cacheConfiguration, cache);
   BootstrapCacheLoader bootstrapCacheLoader =
       createBootstrapCacheLoader(
           cacheConfiguration.getBootstrapCacheLoaderFactoryConfiguration());
   cache.setBootstrapCacheLoader(bootstrapCacheLoader);
   registerCacheLoaders(cacheConfiguration, cache);
   cache = applyCacheExceptionHandler(cacheConfiguration, cache);
   return cache;
 }
Exemplo n.º 2
0
  /**
   * Create a cache given a cache configuration
   *
   * @param cacheConfiguration
   */
  final Ehcache createCache(CacheConfiguration cacheConfiguration) {
    boolean terracottaClustered = false;
    String terracottaValueMode = null;
    boolean terracottaCoherentReads = true;
    TerracottaConfiguration tcConfiguration = cacheConfiguration.getTerracottaConfiguration();
    if (tcConfiguration != null) {
      terracottaClustered = tcConfiguration.isClustered();
      terracottaValueMode = tcConfiguration.getValueMode().name();
      terracottaCoherentReads = tcConfiguration.getCoherentReads();
    }

    Ehcache cache =
        new Cache(
            cacheConfiguration.name,
            cacheConfiguration.maxElementsInMemory,
            cacheConfiguration.memoryStoreEvictionPolicy,
            cacheConfiguration.overflowToDisk,
            getDiskStorePath(),
            cacheConfiguration.eternal,
            cacheConfiguration.timeToLiveSeconds,
            cacheConfiguration.timeToIdleSeconds,
            cacheConfiguration.diskPersistent,
            cacheConfiguration.diskExpiryThreadIntervalSeconds,
            null,
            null,
            cacheConfiguration.maxElementsOnDisk,
            cacheConfiguration.diskSpoolBufferSizeMB,
            cacheConfiguration.clearOnFlush,
            terracottaClustered,
            terracottaValueMode,
            terracottaCoherentReads);
    RegisteredEventListeners listeners = cache.getCacheEventNotificationService();
    registerCacheListeners(cacheConfiguration, listeners);
    registerCacheExtensions(cacheConfiguration, cache);
    BootstrapCacheLoader bootstrapCacheLoader =
        createBootstrapCacheLoader(
            cacheConfiguration.getBootstrapCacheLoaderFactoryConfiguration());
    cache.setBootstrapCacheLoader(bootstrapCacheLoader);
    registerCacheLoaders(cacheConfiguration, cache);
    cache = applyCacheExceptionHandler(cacheConfiguration, cache);
    return cache;
  }