|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.atlassian.confluence.cache.CacheManagerSupport
com.atlassian.confluence.cache.hazelcast.AbstractHazelcastCacheManager<C,R>
public abstract class AbstractHazelcastCacheManager<C extends ManagedLockingCache,R extends com.atlassian.cache.CachedReference>
An abstract base class for CacheManager implementations that use Hazelcast. Concrete
implementations need only implement methods to construct actual Cache and CachedReference objects.
| Constructor Summary | |
|---|---|
AbstractHazelcastCacheManager(java.lang.Iterable<java.lang.String> nonFlushableCaches,
CacheSettingsManager settingsManager,
com.atlassian.util.concurrent.Supplier<com.hazelcast.core.HazelcastInstance> instanceSupplier)
|
|
| Method Summary | |
|---|---|
protected void |
assertCacheSettingsAreCompatible(java.lang.String cacheName,
com.atlassian.cache.CacheSettings cacheSettings)
Check that the given cache settings are compatible with this cache manager. |
com.hazelcast.config.MapConfig |
configureHazelcastMap(java.lang.String cacheName,
java.lang.String mapName,
com.atlassian.cache.CacheSettings settings)
Configures hazelcast map config accordingly to given cache settings |
protected abstract C |
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 abstract R |
createCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier supplier,
com.atlassian.cache.CacheSettings required,
com.hazelcast.core.IMap hazelcastMap)
|
void |
flushCaches()
|
protected java.util.Map<java.lang.String,C> |
getAllCaches()
|
protected java.util.Map<java.lang.String,C> |
getAllCaches(java.lang.String mapNamePrefix)
|
C |
getCache(java.lang.String cacheName,
com.atlassian.cache.CacheLoader loader,
com.atlassian.cache.CacheSettings required)
|
protected java.util.concurrent.locks.Lock |
getCacheCreationLock(java.lang.String cacheName)
Return the Lock to be acquired when creating a cache. |
R |
getCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier supplier,
com.atlassian.cache.CacheSettings required)
|
java.util.Collection<com.atlassian.cache.Cache<?,?>> |
getCaches()
|
com.hazelcast.core.IMap |
getHazelcastMapForCache(java.lang.String cacheName)
|
com.hazelcast.core.IMap |
getHazelcastMapForCachedReference(java.lang.String cacheName)
|
java.lang.String |
getHazelcastMapNameForCache(java.lang.String cacheName)
|
java.lang.String |
getHazelcastMapNameForCachedReference(java.lang.String cacheName)
|
C |
getManagedCache(java.lang.String cacheName)
|
java.util.Collection<com.atlassian.cache.ManagedCache> |
getManagedCaches()
|
protected com.hazelcast.map.MapContainer |
getMapContainerForMap(java.lang.String mapName)
Retrieves MapContainer to which is bind ot given map Using map container is needed for runtime cache settings change because update mapconfig from actual hazelcast is not used after instance has been start. |
protected com.hazelcast.core.HazelcastInstance |
hazelcast()
|
protected boolean |
isFlushable(java.lang.String cacheName)
|
protected C |
lockAndCreateCache(java.lang.String cacheName,
com.atlassian.cache.CacheLoader<?,?> loader,
com.atlassian.cache.CacheSettings required)
|
protected R |
lockAndCreateCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier<R> supplier,
com.atlassian.cache.CacheSettings required)
|
| 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 |
|---|
public AbstractHazelcastCacheManager(java.lang.Iterable<java.lang.String> nonFlushableCaches,
CacheSettingsManager settingsManager,
com.atlassian.util.concurrent.Supplier<com.hazelcast.core.HazelcastInstance> instanceSupplier)
| Method Detail |
|---|
public C getCache(java.lang.String cacheName,
com.atlassian.cache.CacheLoader loader,
com.atlassian.cache.CacheSettings required)
getCache in interface com.atlassian.cache.CacheFactorygetCache in class CacheManagerSupport
public R getCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier supplier,
com.atlassian.cache.CacheSettings required)
getCachedReference in interface com.atlassian.cache.CacheFactorygetCachedReference in class CacheManagerSupportprotected java.util.Map<java.lang.String,C> getAllCaches()
protected java.util.Map<java.lang.String,C> getAllCaches(java.lang.String mapNamePrefix)
protected boolean isFlushable(java.lang.String cacheName)
public void flushCaches()
flushCaches in interface com.atlassian.cache.CacheManagerprotected java.util.concurrent.locks.Lock getCacheCreationLock(java.lang.String cacheName)
Lock to be acquired when creating a cache.
cacheName - the name of the cache to be created
protected com.hazelcast.map.MapContainer getMapContainerForMap(java.lang.String mapName)
public com.hazelcast.config.MapConfig configureHazelcastMap(java.lang.String cacheName,
java.lang.String mapName,
com.atlassian.cache.CacheSettings settings)
configureHazelcastMap in interface HazelcastHelperprotected com.hazelcast.core.HazelcastInstance hazelcast()
protected R lockAndCreateCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier<R> supplier,
com.atlassian.cache.CacheSettings required)
protected C lockAndCreateCache(java.lang.String cacheName,
com.atlassian.cache.CacheLoader<?,?> loader,
com.atlassian.cache.CacheSettings required)
protected void assertCacheSettingsAreCompatible(java.lang.String cacheName,
com.atlassian.cache.CacheSettings cacheSettings)
java.lang.IllegalArgumentException - if the cache settings are not compatiblepublic java.lang.String getHazelcastMapNameForCache(java.lang.String cacheName)
getHazelcastMapNameForCache in interface HazelcastHelperpublic java.lang.String getHazelcastMapNameForCachedReference(java.lang.String cacheName)
getHazelcastMapNameForCachedReference in interface HazelcastHelperpublic com.hazelcast.core.IMap getHazelcastMapForCache(java.lang.String cacheName)
getHazelcastMapForCache in interface HazelcastHelperpublic com.hazelcast.core.IMap getHazelcastMapForCachedReference(java.lang.String cacheName)
getHazelcastMapForCachedReference in interface HazelcastHelperpublic java.util.Collection<com.atlassian.cache.Cache<?,?>> getCaches()
getCaches in interface com.atlassian.cache.CacheManagerpublic java.util.Collection<com.atlassian.cache.ManagedCache> getManagedCaches()
getManagedCaches in interface com.atlassian.cache.CacheManager
public C getManagedCache(@NotNull
java.lang.String cacheName)
getManagedCache in interface com.atlassian.cache.CacheManager
protected abstract C 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 abstract R createCachedReference(java.lang.String cacheName,
com.atlassian.cache.Supplier supplier,
com.atlassian.cache.CacheSettings required,
com.hazelcast.core.IMap hazelcastMap)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||