コード例 #1
0
 private Cache getCache(String regionName, String typeKey, Properties properties) {
   TypeOverrides regionOverride = typeOverrides.get(regionName);
   if (!definedConfigurations.contains(regionName)) {
     String templateCacheName = null;
     Configuration regionCacheCfg = null;
     if (regionOverride != null) {
       if (log.isDebugEnabled())
         log.debug("Cache region specific configuration exists: " + regionOverride);
       regionOverride = overrideStatisticsIfPresent(regionOverride, properties);
       regionCacheCfg = regionOverride.createInfinispanConfiguration();
       String cacheName = regionOverride.getCacheName();
       if (cacheName != null) // Region specific override with a given cache name
       templateCacheName = cacheName;
       else // Region specific override without cache name, so template cache name is generic for
            // data type.
       templateCacheName = typeOverrides.get(typeKey).getCacheName();
     } else {
       // No region specific overrides, template cache name is generic for data type.
       templateCacheName = typeOverrides.get(typeKey).getCacheName();
       regionCacheCfg = typeOverrides.get(typeKey).createInfinispanConfiguration();
     }
     // Configure transaction manager
     regionCacheCfg = configureTransactionManager(regionCacheCfg, templateCacheName, properties);
     // Apply overrides
     manager.defineConfiguration(regionName, templateCacheName, regionCacheCfg);
     definedConfigurations.add(regionName);
   }
   Cache cache = manager.getCache(regionName);
   if (!cache.getStatus().allowInvocations()) {
     cache.start();
   }
   return createCacheWrapper(cache.getAdvancedCache());
 }
コード例 #2
0
 private void defineGenericDataTypeCacheConfigurations(Settings settings, Properties properties)
     throws CacheException {
   String[] defaultGenericDataTypes =
       new String[] {ENTITY_KEY, COLLECTION_KEY, TIMESTAMPS_KEY, QUERY_KEY};
   for (String type : defaultGenericDataTypes) {
     TypeOverrides override = overrideStatisticsIfPresent(typeOverrides.get(type), properties);
     String cacheName = override.getCacheName();
     Configuration newCacheCfg = override.createInfinispanConfiguration();
     // Apply overrides
     Configuration cacheConfig = manager.defineConfiguration(cacheName, cacheName, newCacheCfg);
     // Configure transaction manager
     cacheConfig = configureTransactionManager(cacheConfig, cacheName, properties);
     manager.defineConfiguration(cacheName, cacheName, cacheConfig);
     definedConfigurations.add(cacheName);
     override.validateInfinispanConfiguration(cacheConfig);
   }
 }