com.atlassian.confluence.cache.hazelcast.hybrid
Class HazelcastHybridCacheManager

java.lang.Object
  extended by com.atlassian.confluence.cache.CacheManagerSupport
      extended by com.atlassian.confluence.cache.hazelcast.AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,HybridCachedReference>
          extended by com.atlassian.confluence.cache.hazelcast.hybrid.HazelcastHybridCacheManager
All Implemented Interfaces:
com.atlassian.cache.CacheFactory, com.atlassian.cache.CacheManager, HazelcastHelper, org.springframework.beans.factory.InitializingBean

public class HazelcastHybridCacheManager
extends AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,HybridCachedReference>
implements org.springframework.beans.factory.InitializingBean

A CacheManager which uses Hazelcast and a delagate local-cache manager to implement the "hybrid cache model"

Since:
5.6

Constructor Summary
HazelcastHybridCacheManager(java.lang.Iterable<java.lang.String> nonFlushableCaches, CacheSettingsManager settingsManager, com.atlassian.util.concurrent.Supplier<com.hazelcast.core.HazelcastInstance> instanceSupplier, com.atlassian.cache.CacheManager localCacheManager, java.util.List<java.lang.String> nearReferenceCacheNames, ConfluenceMonitoring confluenceMonitoring, AsyncEntryListenerGenerator asyncEntryListenerGenerator)
           
 
Method Summary
 void afterPropertiesSet()
           
protected  void assertCacheSettingsAreCompatible(java.lang.String cacheName, com.atlassian.cache.CacheSettings cacheSettings)
          Check that the given cache settings are compatible with this cache manager.
protected  ConfigurableManagedLockingCache createCache(java.lang.String cacheName, com.atlassian.cache.CacheLoader cacheLoader, com.atlassian.cache.CacheSettings settings, com.hazelcast.map.MapContainer mapContainer, com.hazelcast.core.IMap hazelcastMap)
           
protected  HybridCachedReference createCachedReference(java.lang.String cacheName, com.atlassian.cache.Supplier supplier, com.atlassian.cache.CacheSettings required, com.hazelcast.core.IMap hazelcastMap)
           
 
Methods inherited from class com.atlassian.confluence.cache.hazelcast.AbstractHazelcastCacheManager
configureHazelcastMap, flushCaches, getAllCaches, getAllCaches, getCache, getCacheCreationLock, getCachedReference, getCaches, getHazelcastMapForCache, getHazelcastMapForCachedReference, getHazelcastMapNameForCache, getHazelcastMapNameForCachedReference, getManagedCache, getManagedCaches, getMapContainerForMap, hazelcast, isFlushable, lockAndCreateCache, lockAndCreateCachedReference
 
Methods inherited from class com.atlassian.confluence.cache.CacheManagerSupport
buildMergedCacheSettings, getCache, getCache, getCache, getCache, getCachedReference, getCachedReference, getCachedReference, isLocalCache, isReplicatedCache, toName
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HazelcastHybridCacheManager

public HazelcastHybridCacheManager(java.lang.Iterable<java.lang.String> nonFlushableCaches,
                                   CacheSettingsManager settingsManager,
                                   com.atlassian.util.concurrent.Supplier<com.hazelcast.core.HazelcastInstance> instanceSupplier,
                                   com.atlassian.cache.CacheManager localCacheManager,
                                   java.util.List<java.lang.String> nearReferenceCacheNames,
                                   ConfluenceMonitoring confluenceMonitoring,
                                   AsyncEntryListenerGenerator asyncEntryListenerGenerator)
Method Detail

afterPropertiesSet

public void afterPropertiesSet()
                        throws java.lang.Exception
Specified by:
afterPropertiesSet in interface org.springframework.beans.factory.InitializingBean
Throws:
java.lang.Exception

createCachedReference

protected HybridCachedReference createCachedReference(java.lang.String cacheName,
                                                      com.atlassian.cache.Supplier supplier,
                                                      com.atlassian.cache.CacheSettings required,
                                                      com.hazelcast.core.IMap hazelcastMap)
Specified by:
createCachedReference in class AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,HybridCachedReference>

createCache

protected ConfigurableManagedLockingCache createCache(java.lang.String cacheName,
                                                      com.atlassian.cache.CacheLoader cacheLoader,
                                                      com.atlassian.cache.CacheSettings settings,
                                                      com.hazelcast.map.MapContainer mapContainer,
                                                      com.hazelcast.core.IMap hazelcastMap)
Specified by:
createCache in class AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,HybridCachedReference>

assertCacheSettingsAreCompatible

protected void assertCacheSettingsAreCompatible(java.lang.String cacheName,
                                                com.atlassian.cache.CacheSettings cacheSettings)
Description copied from class: AbstractHazelcastCacheManager
Check that the given cache settings are compatible with this cache manager. Subclasses should override this as they see fit, to provide additional constraints. They must still call this method via super.

Overrides:
assertCacheSettingsAreCompatible in class AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,HybridCachedReference>


Copyright © 2003-2014 Atlassian. All Rights Reserved.