Package org.datanucleus.cache.coherence
Class CoherenceLevel2Cache
- java.lang.Object
-
- org.datanucleus.cache.AbstractLevel2Cache
-
- org.datanucleus.cache.coherence.CoherenceLevel2Cache
-
- All Implemented Interfaces:
Serializable,org.datanucleus.cache.Level2Cache
public class CoherenceLevel2Cache extends org.datanucleus.cache.AbstractLevel2CacheSimple implementation of a plugin for use of Oracles Coherence distributed caching product with DataNucleus. Please refer to www.tangosol.com for full details of their products. This plugin simply provides a wrapper to the Coherence "NamedCache" to allow its use in DataNucleus.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description CoherenceLevel2Cache(org.datanucleus.NucleusContext nucleusCtx)Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()Method to close the cache when no longer needed.booleancontainsOid(Object oid)Accessor for whether the cache contains the specified id.voidevict(Object oid)Evict the parameter instance from the second-level cache.voidevictAll()Evict the parameter instances from the second-level cache.voidevictAll(Class pcClass, boolean subclasses)Evict the parameter instances from the second-level cache.voidevictAll(Object[] oids)Evict the parameter instances from the second-level cache.voidevictAll(Collection oids)Evict the parameter instances from the second-level cache.org.datanucleus.cache.CachedPCget(Object oid)Accessor for an object in the cache.com.tangosol.net.NamedCachegetCoherenceCache()Accessor for the backing Coherence cache.intgetSize()Accessor for the size of the cache.booleanisEmpty()Accessor for whether the cache is emptybooleanlock(Object oid)Method to lock the underlying Coherence cache.booleanlock(Object oid, int wait)Method to lock the underlying Coherence cache for a time period.org.datanucleus.cache.CachedPCput(Object oid, org.datanucleus.cache.CachedPC pc)Method to add an object to the cache under its idbooleanunlock(Object oid)Method to unlock the underlying Coherence cache.
-
-
-
Method Detail
-
close
public void close()
Method to close the cache when no longer needed. Provides a hook to release resources etc.
-
getCoherenceCache
public com.tangosol.net.NamedCache getCoherenceCache()
Accessor for the backing Coherence cache. This is provided so that users can add much more elaborate control over their cache in line with what Coherence provides.- Returns:
- The Coherence named cache.
-
containsOid
public boolean containsOid(Object oid)
Accessor for whether the cache contains the specified id.- See Also:
Level2Cache.containsOid(java.lang.Object)
-
lock
public boolean lock(Object oid)
Method to lock the underlying Coherence cache.- Parameters:
oid- The key- Returns:
- Success indicator
-
lock
public boolean lock(Object oid, int wait)
Method to lock the underlying Coherence cache for a time period.- Parameters:
oid- The keywait- the time period (ms)- Returns:
- Success indicator
-
unlock
public boolean unlock(Object oid)
Method to unlock the underlying Coherence cache.- Parameters:
oid- The key- Returns:
- Success indicator
-
get
public org.datanucleus.cache.CachedPC get(Object oid)
Accessor for an object in the cache.- See Also:
Level2Cache.get(java.lang.Object)
-
getSize
public int getSize()
Accessor for the size of the cache.- See Also:
Level2Cache.getSize()
-
isEmpty
public boolean isEmpty()
Accessor for whether the cache is empty- See Also:
Level2Cache.isEmpty()
-
put
public org.datanucleus.cache.CachedPC put(Object oid, org.datanucleus.cache.CachedPC pc)
Method to add an object to the cache under its id- Parameters:
oid- The identitypc- The cacheable object- Returns:
- previous value for this identity (if any)
-
evict
public void evict(Object oid)
Evict the parameter instance from the second-level cache.- Parameters:
oid- the object id of the instance to evict.
-
evictAll
public void evictAll()
Evict the parameter instances from the second-level cache. All instances in the PersistenceManager's cache are evicted from the second-level cache.
-
evictAll
public void evictAll(Class pcClass, boolean subclasses)
Evict the parameter instances from the second-level cache.- Parameters:
pcClass- the class of instances to evictsubclasses- if true, evict instances of subclasses also
-
evictAll
public void evictAll(Collection oids)
Evict the parameter instances from the second-level cache.- Parameters:
oids- the object ids of the instance to evict.
-
evictAll
public void evictAll(Object[] oids)
Evict the parameter instances from the second-level cache.- Parameters:
oids- the object ids of the instance to evict.
-
-