Class WrapperCacheService
- java.lang.Object
-
- com.tangosol.net.WrapperService
-
- com.tangosol.net.WrapperCacheService
-
- All Implemented Interfaces:
ClassLoaderAware
,CacheService
,Service
,Controllable
,Service
public class WrapperCacheService extends WrapperService implements CacheService
CacheService implementation that delegates to a wrapped CacheService instance.- Author:
- jh 2010.03.17
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.tangosol.net.CacheService
CacheService.CacheAction
-
Nested classes/interfaces inherited from interface com.tangosol.net.Service
Service.MemberJoinAction
-
-
Field Summary
-
Fields inherited from class com.tangosol.net.WrapperService
m_service
-
Fields inherited from interface com.tangosol.net.CacheService
TYPE_DISTRIBUTED, TYPE_LOCAL, TYPE_OPTIMISTIC, TYPE_PAGED_TOPIC, TYPE_REMOTE, TYPE_REMOTE_GRPC, TYPE_REPLICATED
-
-
Constructor Summary
Constructors Constructor Description WrapperCacheService(CacheService service)
Create a new WrapperCacheService that delegates to the given CacheService instance.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
destroyCache(NamedCache map)
Release and destroy the specified cache.NamedCache
ensureCache(String sName, ClassLoader loader)
Obtain a NamedCache interface that provides a view of resources shared among members of a cluster.BackingMapManager
getBackingMapManager()
Return a backing map manager used by this CacheService.Enumeration
getCacheNames()
Returns an Enumeration of String objects, one for each cache name that has been previously registered with this CacheService.CacheService
getCacheService()
Return the wrapped CacheService.void
releaseCache(NamedCache map)
Release local resources associated with the specified instance of the cache.void
setBackingMapManager(BackingMapManager manager)
Set a backing map manager to be used by this CacheService to create underlying stores for the cached data.void
setDependencies(ServiceDependencies deps)
Configure the Service.String
toString()
-
Methods inherited from class com.tangosol.net.WrapperService
addMemberListener, addServiceListener, configure, getCluster, getContextClassLoader, getDependencies, getInfo, getMinimumServiceVersion, getResourceRegistry, getSerializer, getService, getUserContext, isRunning, isSuspended, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, removeMemberListener, removeServiceListener, setContextClassLoader, setUserContext, shutdown, start, stop
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.tangosol.io.ClassLoaderAware
getContextClassLoader, setContextClassLoader
-
Methods inherited from interface com.tangosol.util.Controllable
configure, isRunning, shutdown, start, stop
-
Methods inherited from interface com.tangosol.net.Service
addMemberListener, getCluster, getDependencies, getInfo, getMinimumServiceVersion, getResourceRegistry, getSerializer, getUserContext, isSuspended, isVersionCompatible, isVersionCompatible, isVersionCompatible, isVersionCompatible, removeMemberListener, setUserContext
-
Methods inherited from interface com.tangosol.util.Service
addServiceListener, removeServiceListener
-
-
-
-
Constructor Detail
-
WrapperCacheService
public WrapperCacheService(CacheService service)
Create a new WrapperCacheService that delegates to the given CacheService instance.- Parameters:
service
- the CacheService to wrap
-
-
Method Detail
-
getBackingMapManager
public BackingMapManager getBackingMapManager()
Return a backing map manager used by this CacheService.- Specified by:
getBackingMapManager
in interfaceCacheService
- Returns:
- a backing map manager
- See Also:
CacheService.setBackingMapManager(BackingMapManager)
-
setBackingMapManager
public void setBackingMapManager(BackingMapManager manager)
Set a backing map manager to be used by this CacheService to create underlying stores for the cached data. Some cache services may choose to ignore this setting.- Specified by:
setBackingMapManager
in interfaceCacheService
- Parameters:
manager
- a backing map manager
-
ensureCache
public NamedCache ensureCache(String sName, ClassLoader loader)
Obtain a NamedCache interface that provides a view of resources shared among members of a cluster. The view is identified by name within this CacheService. Typically, repeated calls to this method with the same view name and class loader instance will result in the same view reference being returned.- Specified by:
ensureCache
in interfaceCacheService
- Parameters:
sName
- the name, within this CacheService, that uniquely identifies a view; null is legal, and may imply a default nameloader
- ClassLoader that should be used to deserialize objects inserted in the map by other members of the cluster; null is legal, and implies the default ClassLoader, which will typically be the context ClassLoader for this service- Returns:
- a NamedCache interface which can be used to access the resources of the specified view
-
getCacheNames
public Enumeration getCacheNames()
Returns an Enumeration of String objects, one for each cache name that has been previously registered with this CacheService.- Specified by:
getCacheNames
in interfaceCacheService
- Returns:
- Enumeration of cache names
-
releaseCache
public void releaseCache(NamedCache map)
Release local resources associated with the specified instance of the cache. This invalidates a reference obtained by using theCacheService.ensureCache(String, ClassLoader)
method.Releasing a Map reference to a cache makes the Map reference no longer usable, but does not affect the cache itself. In other words, all other references to the cache will still be valid, and the cache data is not affected by releasing the reference.
The reference that is released using this method can no longer be used; any attempt to use the reference will result in an exception.
The purpose for releasing a cache reference is to allow the cache implementation to release the ClassLoader used to deserialize items in the cache. The cache implementation ensures that all references to that ClassLoader are released. This implies that objects in the cache that were loaded by that ClassLoader will be re-serialized to release their hold on that ClassLoader. The result is that the ClassLoader can be garbage-collected by Java in situations where the cache is operating in an application server and applications are dynamically loaded and unloaded.
- Specified by:
releaseCache
in interfaceCacheService
- Parameters:
map
- the cache object to be released- See Also:
Releasable.release()
-
destroyCache
public void destroyCache(NamedCache map)
Release and destroy the specified cache.Warning: This method is used to completely destroy the specified cache across the cluster. All references in the entire cluster to this cache will be invalidated, the cached data will be cleared, and all resources will be released.
- Specified by:
destroyCache
in interfaceCacheService
- Parameters:
map
- the cache object to be released- See Also:
NamedCollection.destroy()
-
setDependencies
public void setDependencies(ServiceDependencies deps)
Configure the Service.This method can only be called before the Service is started.
- Specified by:
setDependencies
in interfaceService
- Overrides:
setDependencies
in classWrapperService
- Parameters:
deps
- the dependencies object carrying configuration information specific to this Service
-
toString
public String toString()
- Overrides:
toString
in classWrapperService
-
getCacheService
public CacheService getCacheService()
Return the wrapped CacheService.- Returns:
- the wrapped CacheService
-
-