|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.jboss.cache.loader.AsyncCacheLoader
public class AsyncCacheLoader
The AsyncCacheLoader is a delegating cache loader that passes on all
operations to an underlying CacheLoader.
Read operations are done synchronously, while write (CRUD - Create, Remove,
Update, Delete) operations are done asynchronously. There is no provision
for exception handling at the moment for problems encountered with the
underlying CacheLoader during a CRUD operation, and the exception is just
logged.
When configuring the CacheLoader, use the following attribute:
<attribute name="CacheLoaderAsynchronous">true</attribute>
to define whether cache loader operations are to be asynchronous. If not
specified, a cache loader operation is assumed synchronous.
The following additional parameters are available:
true, this loader returns the old values from put(org.jboss.cache.Fqn, java.lang.Object, java.lang.Object) and remove(org.jboss.cache.Fqn, java.lang.Object) methods. Otherwise, these methods always return
null. Default is true. false improves the performance of these
operations.put(org.jboss.cache.Fqn, java.lang.Object, java.lang.Object) operations will be processed
synchronously, and then only the remove(org.jboss.cache.Fqn, java.lang.Object) operations will be
processed asynchronously. This mode may be useful for processing
expiration of messages within a separate thread and keeping other
operations synchronous for reliability.
cache.async.batchSize and
cache.async.pollWait. For larger sized records, use a smaller
value for cache.async.queueSize.
| Field Summary | |
|---|---|
static int |
DEFAULT_QUEUE_SIZE
Default limit on entries to process asynchronously. |
| Constructor Summary | |
|---|---|
AsyncCacheLoader()
|
|
AsyncCacheLoader(CacheLoader cacheLoader)
|
|
| Method Summary | |
|---|---|
void |
commit(java.lang.Object tx)
Commits the transaction. |
void |
create()
|
void |
destroy()
|
boolean |
exists(Fqn name)
Returns true if the CacheLoader has a node with a Fqn. |
java.util.Map |
get(Fqn name)
Returns all keys and values from the persistent store, given a fully qualified name. |
CacheLoader |
getCacheLoader()
Returns the delegate cache loader. |
java.util.Set |
getChildrenNames(Fqn fqn)
Returns a set of children node names as Strings. |
byte[] |
loadEntireState()
Fetches the entire state for this cache from secondary storage (disk, DB) and returns it as a byte buffer. |
void |
prepare(java.lang.Object tx,
java.util.List modifications,
boolean one_phase)
Prepares a list of modifications. |
void |
put(Fqn name,
java.util.Map attributes)
Puts all entries of the map into the existing map of the given node, overwriting existing keys, but not clearing the existing map before insertion. |
java.lang.Object |
put(Fqn name,
java.lang.Object key,
java.lang.Object value)
Puts a key and value into the attribute map of a given node. |
void |
put(java.util.List modifications)
Applies all modifications to the backend store. |
void |
remove(Fqn name)
Removes the given node and all its subnodes. |
java.lang.Object |
remove(Fqn name,
java.lang.Object key)
Removes the given key and value from the attributes of the given node. |
void |
removeData(Fqn name)
Removes all attributes from a given node, but doesn't delete the node itself or any subnodes. |
void |
rollback(java.lang.Object tx)
Rolls the transaction back. |
void |
setCache(TreeCache c)
Sets the TreeCache that is maintaining this CacheLoader. |
void |
setConfig(java.util.Properties props)
Sets the configuration. |
void |
start()
|
void |
stop()
|
void |
storeEntireState(byte[] state)
Stores the entire state. |
java.lang.String |
toString()
|
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
|---|
public static final int DEFAULT_QUEUE_SIZE
| Constructor Detail |
|---|
public AsyncCacheLoader()
public AsyncCacheLoader(CacheLoader cacheLoader)
| Method Detail |
|---|
public CacheLoader getCacheLoader()
public void setConfig(java.util.Properties props)
CacheLoaderService.create() and Service.start().
setConfig in interface CacheLoaderprops - a collection of configuration propertiespublic void setCache(TreeCache c)
CacheLoaderTreeCache that is maintaining this CacheLoader.
This method allows this CacheLoader to invoke methods on TreeCache,
including fetching additional configuration information. This method is
called be called after the CacheLoader instance has been constructed.
setCache in interface CacheLoaderc - The cache on which this loader works
public java.util.Set getChildrenNames(Fqn fqn)
throws java.lang.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(Set) to make the set unmodifiable.
getChildrenNames in interface CacheLoaderfqn - The FQN of the parent
java.lang.Exception
public java.util.Map get(Fqn name)
throws java.lang.Exception
CacheLoader
get in interface CacheLoader
public boolean exists(Fqn name)
throws java.lang.Exception
CacheLoaderFqn.
exists in interface CacheLoaderjava.lang.Exception
public java.lang.Object put(Fqn name,
java.lang.Object key,
java.lang.Object value)
throws java.lang.Exception
CacheLoader
put in interface CacheLoaderjava.lang.Exception
public void put(Fqn name,
java.util.Map attributes)
throws java.lang.Exception
CacheLoaderMap.putAll(java.util.Map extends K, ? extends V>).
If the node does not exist, all parent nodes from the root down are created automatically
put in interface CacheLoadername - The fully qualified name of the nodeattributes - A Map of attributes. Can be null
java.lang.Exception
public void put(java.util.List modifications)
throws java.lang.Exception
CacheLoader
put in interface CacheLoadermodifications - A Listjava.lang.Exception
public java.lang.Object remove(Fqn name,
java.lang.Object key)
throws java.lang.Exception
CacheLoader
remove in interface CacheLoaderjava.lang.Exception
public void remove(Fqn name)
throws java.lang.Exception
CacheLoader
remove in interface CacheLoaderjava.lang.Exception
public void removeData(Fqn name)
throws java.lang.Exception
CacheLoader
removeData in interface CacheLoaderjava.lang.Exception
public void prepare(java.lang.Object tx,
java.util.List modifications,
boolean one_phase)
throws java.lang.Exception
CacheLoadertx (tx is the key)
prepare in interface CacheLoadertx - The transaction, just used as a hashmap keymodifications - Listone_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
java.lang.Exception
public void commit(java.lang.Object tx)
throws java.lang.Exception
CacheLoadertx and commit that
transaction. Non-transactional CacheLoaders could simply write the data
that was previously saved transiently under the given tx
key, to (for example) a file system (note this only holds if the previous
prepare() did not define one_phase=true
commit in interface CacheLoadertx - transaction to commit
java.lang.Exceptionpublic void rollback(java.lang.Object tx)
CacheLoadertx and roll back that
transaction.
rollback in interface CacheLoadertx - transaction to roll back
public byte[] loadEntireState()
throws java.lang.Exception
CacheLoaderCacheLoader.storeEntireState(byte[]).
loadEntireState in interface CacheLoaderjava.lang.Exception
public void storeEntireState(byte[] state)
throws java.lang.Exception
storeEntireState in interface CacheLoaderjava.lang.Exception
public void create()
throws java.lang.Exception
create in interface org.jboss.system.Servicejava.lang.Exception
public void start()
throws java.lang.Exception
start in interface org.jboss.system.Servicejava.lang.Exceptionpublic void stop()
stop in interface org.jboss.system.Servicepublic void destroy()
destroy in interface org.jboss.system.Servicepublic java.lang.String toString()
toString in class java.lang.Object
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||