org.codehaus.wadi.gridstate.impl
Class GCache
java.lang.Object
org.codehaus.wadi.gridstate.impl.GCache
- All Implemented Interfaces:
- javax.cache.Cache, DispatcherConfig, Map, PartitionManagerConfig, StateManagerConfig
- public class GCache
- extends Object
- implements javax.cache.Cache, DispatcherConfig, StateManagerConfig, PartitionManagerConfig
Geronimo is going to need a standard API for lookup of sessions across the Cluster.
JCache is the obvious choice.
This will allow the plugging of either e.g. GCache (WADI), Tangosol's Coherence or IPMs solution without changing of Geronimo code.
In fact, this will allow WADI to sit on top of any of these three.
GCache is a JCache compatible interface onto DIndex - WADI's own distributed index, which fulfills
WADI's requirements for this lookup...
- Author:
- jules
|
Method Summary |
void |
addListener(javax.cache.CacheListener listener)
|
protected void |
addLock(Object key,
Sync newSync)
|
void |
clear()
|
boolean |
containsKey(Object key)
|
boolean |
containsValue(Object value)
|
Set |
entrySet()
|
void |
evict()
|
Object |
get(Object key)
|
Map |
getAll(Collection keys)
|
javax.cache.CacheEntry |
getCacheEntry(Object key)
|
javax.cache.CacheStatistics |
getCacheStatistics()
|
String |
getContextPath()
|
Destination |
getLocalDestination()
|
Map |
getMap()
|
PartitionFacade |
getPartition(Object key)
|
PartitionConfig |
getPartitionConfig()
|
PartitionManager |
getPartitionManager()
|
PartitionFacade[] |
getPartitions()
|
LockManager |
getPMSyncs()
|
LockManager |
getSMSyncs()
|
StateManager |
getStateManager()
|
void |
init()
|
boolean |
isEmpty()
|
Set |
keySet()
|
void |
load(Object key)
|
void |
loadAll(Collection keys)
|
Object |
peek(Object key)
|
Object |
put(Object key,
Object value)
|
Object |
put(Object key,
Object value,
boolean overwrite,
boolean returnOldValue)
Extension: Insert, globally, the key:value association only overwriting a previous value and returning it, if
the relevant flags are passed in. |
void |
putAll(Map t)
|
boolean |
putFirst(Object key,
Object value)
Extension: Insert, globally, the key:value association for the first time. |
void |
release()
|
Object |
remove(Object key)
|
Object |
remove(Object key,
boolean returnOldValue)
Remove the key's association globally, returning its current value if the flag is true. |
void |
removeListener(javax.cache.CacheListener listener)
|
int |
size()
|
void |
start()
|
void |
stop()
|
Collection |
values()
|
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
_log
protected final Log _log
_dispatcher
protected final Dispatcher _dispatcher
_partitionManager
protected final PartitionManager _partitionManager
_stateManager
protected final StateManager _stateManager
_map
protected final Map _map
_pmSyncs
protected final LockManager _pmSyncs
_smSyncs
protected final LockManager _smSyncs
_threadLocks
protected ThreadLocal _threadLocks
GCache
public GCache(Dispatcher dispatcher,
PartitionManager partitionManager,
StateManager stateManager)
throws Exception
release
public void release()
addLock
protected void addLock(Object key,
Sync newSync)
containsKey
public boolean containsKey(Object key)
- Specified by:
containsKey in interface Map
containsValue
public boolean containsValue(Object value)
- Specified by:
containsValue in interface Map
entrySet
public Set entrySet()
- Specified by:
entrySet in interface Map
isEmpty
public boolean isEmpty()
- Specified by:
isEmpty in interface Map
keySet
public Set keySet()
- Specified by:
keySet in interface Map
putAll
public void putAll(Map t)
- Specified by:
putAll in interface Map
size
public int size()
- Specified by:
size in interface Map
values
public Collection values()
- Specified by:
values in interface Map
get
public Object get(Object key)
- Specified by:
get in interface Map
getAll
public Map getAll(Collection keys)
throws javax.cache.CacheException
- Specified by:
getAll in interface javax.cache.Cache
- Throws:
javax.cache.CacheException
load
public void load(Object key)
throws javax.cache.CacheException
- Specified by:
load in interface javax.cache.Cache
- Throws:
javax.cache.CacheException
loadAll
public void loadAll(Collection keys)
throws javax.cache.CacheException
- Specified by:
loadAll in interface javax.cache.Cache
- Throws:
javax.cache.CacheException
peek
public Object peek(Object key)
- Specified by:
peek in interface javax.cache.Cache
put
public Object put(Object key,
Object value)
- Specified by:
put in interface Map
putFirst
public boolean putFirst(Object key,
Object value)
- Extension: Insert, globally, the key:value association for the first time. This can be more efficient than a put(),
as we can be sure that it will not have to return a value that is held remotely. Returns success if the insertion was
able to occur (i.e. there was no value previously associated with this key).
- Parameters:
key - value -
- Returns:
put
public Object put(Object key,
Object value,
boolean overwrite,
boolean returnOldValue)
- Extension: Insert, globally, the key:value association only overwriting a previous value and returning it, if
the relevant flags are passed in. If overwrite is true, returnOldValue will return any value previously associated
with this key, else the insertion will occur and return Boolean.TRUE only if NO previous association exists otherwise
Boolean.FALSE will be returned.
- Parameters:
key - value - overwrite - returnOldValue -
- Returns:
getCacheEntry
public javax.cache.CacheEntry getCacheEntry(Object key)
- Specified by:
getCacheEntry in interface javax.cache.Cache
getCacheStatistics
public javax.cache.CacheStatistics getCacheStatistics()
- Specified by:
getCacheStatistics in interface javax.cache.Cache
remove
public Object remove(Object key)
- Specified by:
remove in interface Map
remove
public Object remove(Object key,
boolean returnOldValue)
- Remove the key's association globally, returning its current value if the flag is true.
If the value is held remotely and not required, it will save bandwidth to pass in a value of false.
- Parameters:
key - returnOldValue -
- Returns:
clear
public void clear()
- Specified by:
clear in interface Map
evict
public void evict()
- Specified by:
evict in interface javax.cache.Cache
addListener
public void addListener(javax.cache.CacheListener listener)
- Specified by:
addListener in interface javax.cache.Cache
removeListener
public void removeListener(javax.cache.CacheListener listener)
- Specified by:
removeListener in interface javax.cache.Cache
getPartitions
public PartitionFacade[] getPartitions()
getMap
public Map getMap()
- Specified by:
getMap in interface StateManagerConfig
getPMSyncs
public LockManager getPMSyncs()
- Specified by:
getPMSyncs in interface StateManagerConfig
getSMSyncs
public LockManager getSMSyncs()
- Specified by:
getSMSyncs in interface StateManagerConfig
getPartitionConfig
public PartitionConfig getPartitionConfig()
getPartitionManager
public PartitionManager getPartitionManager()
getStateManager
public StateManager getStateManager()
start
public void start()
throws Exception
- Throws:
Exception
stop
public void stop()
throws Exception
- Throws:
Exception
getPartition
public PartitionFacade getPartition(Object key)
- Specified by:
getPartition in interface StateManagerConfig
getLocalDestination
public Destination getLocalDestination()
- Specified by:
getLocalDestination in interface PartitionManagerConfig
init
public void init()
throws Exception
- Throws:
Exception
getContextPath
public String getContextPath()
- Specified by:
getContextPath in interface DispatcherConfig
Copyright © 2004-2008 Core Developers Network Ltd.. All Rights Reserved.