com.atlassian.confluence.cache.hazelcast
Class HazelcastDistributedCacheManager

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

public class HazelcastDistributedCacheManager
extends AbstractHazelcastCacheManager<ConfigurableManagedLockingCache,com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference>
implements org.springframework.beans.factory.InitializingBean

Hazelcast implementation of CacheManager that uses distributed caches, i.e. caches where the keys and values are distributed to other nodes in the cluster.

Since:
5.6

Constructor Summary
HazelcastDistributedCacheManager(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  com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference 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

HazelcastDistributedCacheManager

public HazelcastDistributedCacheManager(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

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,com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference>

createCachedReference

protected com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference 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,com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference>

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,com.atlassian.confluence.cache.hazelcast.HazelcastCachedReference>


Copyright © 2003-2014 Atlassian. All Rights Reserved.