Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.tangosol.net
Interface CacheService

All Superinterfaces:
  ClassLoaderAware, Controllable, Service

All Known Subinterfaces:
  DistributedCacheService

    public interface CacheService

extends Service

A CacheService is a clustered service providing a collection of named Maps that hold resources shared among members of a cluster. These resources are expected to be managed in memory, and are typically composed of data that are also stored persistently in a database, or data that have been assembled or calculated at some significant cost, thus these resources are referred to as cached.

Since:
  Coherence 1.1
Author:
  gg 2002.02.08

Field Summary
`static java.lang.String` | `TYPE_DISTRIBUTED` DistributedCache service type constant.
`static java.lang.String` | `TYPE_LOCAL` LocalCache service type constant.
`static java.lang.String` | `TYPE_OPTIMISTIC` OptimisticCache service type constant.
`static java.lang.String` | `TYPE_REMOTE` RemoteCache service type constant.
`static java.lang.String` | `TYPE_REPLICATED` ReplicatedCache service type constant.

Method Summary
`void` | `destroyCache(NamedCache map)` Release and destroy the specified cache.
`NamedCache` | `ensureCache(java.lang.String sName, java.lang.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.
`java.util.Enumeration` | `getCacheNames()` Returns an Enumeration of String objects, one for each cache name that has been previously registered with this 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.

Methods inherited from interface com.tangosol.net.Service
`addMemberListener, getCluster, getInfo, getSerializer, getUserContext, removeMemberListener, setUserContext`

Methods inherited from interface com.tangosol.util.Service
`addServiceListener, removeServiceListener`

Methods inherited from interface com.tangosol.util.Controllable
`configure, isRunning, shutdown, start, stop`

Methods inherited from interface com.tangosol.io.ClassLoaderAware
`getContextClassLoader, setContextClassLoader`

Field Detail

### TYPE_REPLICATED

    static final java.lang.String TYPE_REPLICATED

  ReplicatedCache service type constant.

  ReplicatedCache service provides the means for handling a collection of resources replicated across a cluster with concurrent access control.

  See Also:
    `Cluster.ensureService(String, String)`, Constant Field Values

### TYPE_OPTIMISTIC

    static final java.lang.String TYPE_OPTIMISTIC

  OptimisticCache service type constant.

  OptimisticCache service is an implementation similar to the ReplicatedCache, but without any concurrency control and the highest possible throughput.

  See Also:
    `Cluster.ensureService(String, String)`, Constant Field Values

### TYPE_DISTRIBUTED

    static final java.lang.String TYPE_DISTRIBUTED

  DistributedCache service type constant.

  DistributedCache service provides the means for handling a collection of resources distributed across a cluster with concurrent access control.

  See Also:
    `Cluster.ensureService(String, String)`, Constant Field Values

### TYPE_LOCAL

    static final java.lang.String TYPE_LOCAL

  LocalCache service type constant.

  LocalCache service provides the means for handling a collection of resources limited to a single JVM with concurrent access control.

  See Also:
    `Cluster.ensureService(String, String)`, Constant Field Values

### TYPE_REMOTE

    static final java.lang.String TYPE_REMOTE

  RemoteCache service type constant.

  RemoteCache service provides the means for handling a collection of resources managed by a remote JVM with concurrent access control.

  See Also:
    `Cluster.ensureService(String, String)`, Constant Field Values

Method Detail

### getBackingMapManager

    BackingMapManager getBackingMapManager()

  Return a backing map manager used by this CacheService.

  Returns:
    a backing map manager
  Since:
    Coherence 2.0
  See Also:
    `setBackingMapManager(BackingMapManager)`

### setBackingMapManager

    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.

  Parameters:
    `manager` - a backing map manager
  Throws:
    `java.lang.IllegalStateException` - thrown if the service is already running
  Since:
    Coherence 2.0
  See Also:
    `CacheFactory.getDistributedCacheService(String, BackingMapManager)`, `CacheFactory.getOptimisticCacheService(String, BackingMapManager)`

### ensureCache

    NamedCache ensureCache(java.lang.String sName,
                           java.lang.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.

  Parameters:
    `sName` - the name, within this CacheService, that uniquely identifies a view; null is legal, and may imply a default name
    `loader` - 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
  Throws:
    `java.lang.IllegalStateException` - thrown if the service is not running
  See Also:
    `CacheFactory.getDistributedCacheService(String)`, `CacheFactory.getOptimisticCacheService(String)`, `CacheFactory.getReplicatedCacheService(String)`

### getCacheNames

    java.util.Enumeration getCacheNames()

  Returns an Enumeration of String objects, one for each cache name that has been previously registered with this CacheService.

  Returns:
    Enumeration of cache names
  Throws:
    `java.lang.IllegalStateException` - thrown if the CacheService is not running or has stopped

### releaseCache

    void releaseCache(NamedCache map)

  Release local resources associated with the specified instance of the cache. This invalidates a reference obtained by using the `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.

  Parameters:
    `map` - the cache object to be released
  See Also:
    `NamedCache.release()`

### destroyCache

    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.

  Parameters:
    `map` - the cache object to be released
  See Also:
    `NamedCache.destroy()`

Overview | Package | Class | Tree | Index | Help

Oracle® Coherence Java API Reference
v3.5.3
E15583-01
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2000, 2010, Oracle. All rights reserved.