|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.cache.loader.AbstractCacheLoader
org.jboss.cache.loader.ClusteredCacheLoader
@ThreadSafe public class ClusteredCacheLoader
A cache loader that consults other members in the cluster for values. Does
not propagate update methods since replication should take care of this. A
timeout property is required, a long that
specifies in milliseconds how long to wait for results before returning a
null.
| Nested Class Summary | |
|---|---|
static class |
ClusteredCacheLoader.ResponseValidityFilter
|
| Field Summary |
|---|
| Fields inherited from class org.jboss.cache.loader.AbstractCacheLoader |
|---|
cache, regionManager, transactions |
| Constructor Summary | |
|---|---|
ClusteredCacheLoader()
|
|
| Method Summary | |
|---|---|
void |
commit(Object tx)
Does nothing. |
boolean |
exists(Fqn name)
Returns true if the CacheLoader has a node with a Fqn. |
Map |
get(Fqn name)
Returns all keys and values from the persistent store, given a Fqn |
protected Map |
get0(Fqn name)
|
CacheLoaderConfig.IndividualCacheLoaderConfig |
getConfig()
Gets the configuration. |
Set |
getChildrenNames(Fqn fqn)
Returns a set of children node names. |
protected boolean |
isCacheReady()
A test to check whether the cache is in it's started state. |
void |
loadEntireState(ObjectOutputStream os)
Fetches the entire state for this cache from secondary storage (disk, database) and writes it to a provided ObjectOutputStream. |
void |
loadState(Fqn subtree,
ObjectOutputStream os)
Fetches a portion of the state for this cache from secondary storage (disk, database) and writes it to a provided ObjectOutputStream. |
void |
prepare(Object tx,
List modifications,
boolean one_phase)
Does nothing. |
void |
put(Fqn name,
Map attributes)
Does nothing; replication handles put. |
Object |
put(Fqn name,
Object key,
Object value)
Puts a key and value into the attribute map of a given node. |
void |
put(List<Modification> modifications)
Does nothing; replication handles put. |
void |
remove(Fqn name)
Does nothing; replication handles removal. |
Object |
remove(Fqn name,
Object key)
Fetches the remove value, does not remove. |
void |
removeData(Fqn name)
Does nothing; replication handles removal. |
void |
rollback(Object tx)
Does nothing. |
void |
setConfig(CacheLoaderConfig.IndividualCacheLoaderConfig base)
Sets the configuration. |
void |
setRegionManager(RegionManager manager)
Sets the RegionManager this object should use to manage
marshalling/unmarshalling of different regions using different
classloaders. |
void |
storeEntireState(ObjectInputStream is)
Stores the entire state for this cache by reading it from a provided ObjectInputStream. |
void |
storeState(Fqn subtree,
ObjectInputStream is)
Stores the given portion of the cache tree's state in secondary storage. |
| Methods inherited from class org.jboss.cache.loader.AbstractCacheLoader |
|---|
create, destroy, doMarshall, doUnmarshall, getMarshaller, getNodeDataList, loadStateHelper, put, regionAwareMarshall, regionAwareUnmarshall, setCache, start, stop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public ClusteredCacheLoader()
| Method Detail |
|---|
protected boolean isCacheReady()
public void setConfig(CacheLoaderConfig.IndividualCacheLoaderConfig base)
timeout is used as the timeout value.
base - May be an instance of the CacheLoaderConfig.IndividualCacheLoaderConfig base
class, in which case the cache loader should use the
CacheLoaderConfig.IndividualCacheLoaderConfig.getProperties()
method to find configuration information. Alternatively,
may be a type-specific subclass of CacheLoaderConfig.IndividualCacheLoaderConfig,
if there is one.public CacheLoaderConfig.IndividualCacheLoaderConfig getConfig()
CacheLoader
CacheLoaderConfig.IndividualCacheLoaderConfig object.
public Set getChildrenNames(Fqn fqn)
throws Exception
CacheLoaderFqn.
Returns null if the named node is not found or there are no children.
The returned set must not be modifiable. Implementors can use
Collections.unmodifiableSet(java.util.Set) to make the set unmodifiable.
Implementors may impose restrictions on the contents of an Fqn (such as Strings-only) and as such, indirectly
impose the same restriction on the contents of a Set returned by getChildrenNames().
fqn - The Fqn of the parent
Exception
public Map get(Fqn name)
throws Exception
CacheLoaderFqn
name - the Fqn to search for.
protected Map get0(Fqn name)
throws Exception
Exception
public boolean exists(Fqn name)
throws Exception
CacheLoaderFqn.
Exception
public Object put(Fqn name,
Object key,
Object value)
throws Exception
CacheLoader
Exception
public void put(Fqn name,
Map attributes)
throws Exception
name - The fully qualified name of the nodeattributes - A Map of attributes. Can be null
Exception
public void put(List<Modification> modifications)
throws Exception
put in interface CacheLoaderput in class AbstractCacheLoadermodifications - A ListException
public Object remove(Fqn name,
Object key)
throws Exception
Exception
public void remove(Fqn name)
throws Exception
name - the Fqn of the node
Exception
public void removeData(Fqn name)
throws Exception
name - the Fqn of the node
Exception
public void prepare(Object tx,
List modifications,
boolean one_phase)
throws Exception
prepare in interface CacheLoaderprepare in class AbstractCacheLoadertx - The transaction, indended to be used by implementations as an identifier of the transaction (and not necessarily a JTA Transaction object)modifications - A List containing Modifications, for the given transactionone_phase - Persist immediately and (for example) commit the local JDBC transaction as well. When true,
we won't get a CacheLoader.commit(Object) or CacheLoader.rollback(Object) method call later
Exception
public void commit(Object tx)
throws Exception
commit in interface CacheLoadercommit in class AbstractCacheLoadertx - transaction to commit
Exceptionpublic void rollback(Object tx)
rollback in interface CacheLoaderrollback in class AbstractCacheLoadertx - transaction to roll back
public void loadEntireState(ObjectOutputStream os)
throws Exception
CacheLoaderCacheLoader.storeEntireState(ObjectInputStream)
Implementations of this method should not catch any exception or close the
given ObjectOutputStream parameter. In order to ensure cacheloader interoperability
contents of the cache are written to the ObjectOutputStream as a sequence of
NodeData objects.
Default implementation is provided by AbstractCacheLoader and ensures cacheloader
interoperability. Implementors are encouraged to consider extending AbstractCacheLoader
prior to implementing completely custom cacheloader.
loadEntireState in interface CacheLoaderloadEntireState in class AbstractCacheLoaderos - ObjectOutputStream to write state
ExceptionAbstractCacheLoader.loadEntireState(ObjectOutputStream),
NodeData
public void loadState(Fqn subtree,
ObjectOutputStream os)
throws Exception
CacheLoaderCacheLoader.storeState(Fqn,ObjectInputStream).
Implementations of this method should not catch any exception or close the
given ObjectOutputStream parameter. In order to ensure cacheloader interoperability
contents of the cache are written to the ObjectOutputStream as a sequence of
NodeData objects.
Default implementation is provided by AbstractCacheLoader and ensures cacheloader
interoperability. Implementors are encouraged to consider extending AbstractCacheLoader
prior to implementing completely custom cacheloader.
loadState in interface CacheLoaderloadState in class AbstractCacheLoadersubtree - Fqn naming the root (i.e. highest level parent) node of
the subtree for which state is requested.os - ObjectOutputStream to write state
ExceptionAbstractCacheLoader.loadState(Fqn,ObjectOutputStream),
Region.activate(),
NodeData
public void storeEntireState(ObjectInputStream is)
throws Exception
CacheLoaderCacheLoader.loadEntireState(ObjectOutputStream)}
on some other cache instance. State currently in storage gets overwritten.
Implementations of this method should not catch any exception or close the
given ObjectInputStream parameter. In order to ensure cacheloader interoperability
contents of the cache are read from the ObjectInputStream as a sequence of
NodeData objects.
Default implementation is provided by AbstractCacheLoader and ensures cacheloader
interoperability. Implementors are encouraged to consider extending AbstractCacheLoader
prior to implementing completely custom cacheloader.
storeEntireState in interface CacheLoaderstoreEntireState in class AbstractCacheLoaderis - ObjectInputStream to read state
ExceptionAbstractCacheLoader.storeEntireState(ObjectInputStream),
NodeData
public void storeState(Fqn subtree,
ObjectInputStream is)
throws Exception
CacheLoadersubtree,
then no special behavior is required. Otherwise, ensure that
the state is integrated under the given subtree. Typically
in the latter case subtree would be the Fqn of the buddy
backup region for
a buddy group; e.g.
If the the transferred state had Fqns starting with "/a" and
subtree was "/_BUDDY_BACKUP_/192.168.1.2:5555" then the
state should be stored in the local persistent store under
"/_BUDDY_BACKUP_/192.168.1.2:5555/a"
Implementations of this method should not catch any exception or close the
given ObjectInputStream parameter. In order to ensure cacheloader interoperability
contents of the cache are read from the ObjectInputStream as a sequence of
NodeData objects.
Default implementation is provided by AbstractCacheLoader and ensures cacheloader
interoperability. Implementors are encouraged to consider extending AbstractCacheLoader
prior to implementing completely custom cacheloader.
storeState in interface CacheLoaderstoreState in class AbstractCacheLoadersubtree - Fqn naming the root (i.e. highest level parent) node of
the subtree included in state. If the Fqns
of the data included in state are not
already children of subtree, then their
Fqns should be altered to make them children of
subtree before they are persisted.is - ObjectInputStream to read state
ExceptionAbstractCacheLoader.storeState(Fqn,ObjectInputStream),
NodeDatapublic void setRegionManager(RegionManager manager)
CacheLoaderRegionManager this object should use to manage
marshalling/unmarshalling of different regions using different
classloaders.
NOTE: This method is only intended to be used
by the CacheSPI instance this cache loader is
associated with.
setRegionManager in interface CacheLoadersetRegionManager in class AbstractCacheLoadermanager - the region manager to use, or null.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||