|
||||||||||
PREV CLASS NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Implementations need to load an object given a key from secondary storage, or store an object under a given
key in secondary storage (e.g. DB, filesystem).
Lifecycle: first an instance of the loader is created, then the configuration (#setConfig(String)
)
and cache (setCache(TreeCache)
) are set. After this, Service.create()
is called. Then @start()
is
called. When re-deployed, Service.stop()
will be called, followed by another Service.start()
. Finally, when
shut down, Service.destroy()
is called, after which the loader is unusable.
Method Summary | |
void |
commit(java.lang.Object tx)
Commit the transaction. |
boolean |
exists(Fqn (src) name)
Checks whether the CacheLoader has a node with Fqn |
java.util.Map |
get(Fqn (src) name)
Returns all keys and values from the persistent store, given a fully qualified name |
java.lang.Object |
get(Fqn (src) name,
java.lang.Object key)
Returns the value for a given key. |
java.util.Set |
getChildrenNames(Fqn (src) fqn)
Returns a list of children names, all names are relative. |
byte[] |
loadEntireState()
Fetch the entire state for this cache from secondary storage (disk, DB) and return it as a byte buffer. |
void |
prepare(java.lang.Object tx,
java.util.List modifications,
boolean one_phase)
Prepare the modifications. |
void |
put(Fqn (src) name,
java.util.Map attributes)
Inserts all elements of attributes into the attributes hashmap of the given node, overwriting existing attributes, but not clearing the existing hashmap before insertion (making it a union of existing and new attributes) If the node does not exist, all parent nodes from the root down are created automatically |
java.lang.Object |
put(Fqn (src) name,
java.lang.Object key,
java.lang.Object value)
Inserts key and value into the attributes hashmap of the given node. |
void |
put(java.util.List modifications)
Inserts all modifications to the backend store. |
void |
remove(Fqn (src) name)
Removes the given node. |
java.lang.Object |
remove(Fqn (src) name,
java.lang.Object key)
Removes the given key and value from the attributes of the given node. |
void |
removeData(Fqn (src) name)
Removes all attributes from a given node, but doesn't delete the node itself |
void |
rollback(java.lang.Object tx)
Roll the transaction back. |
void |
setCache(TreeCache (src) c)
This method allows the CacheLoader to set the TreeCache, therefore allowing the CacheLoader to invoke methods of the TreeCache. |
void |
setConfig(java.util.Properties url)
Sets the configuration. |
void |
storeEntireState(byte[] state)
Store the given state in secondary storage. |
Methods inherited from interface org.jboss.system.Service (src) |
create, destroy, start, stop |
Method Detail |
public void setConfig(java.util.Properties url)
Service.create()
and Service.start()
url
- A list of properties, defined in the XML filepublic void setCache(TreeCache (src) c)
c
- The cache on which this loader workspublic java.util.Set getChildrenNames(Fqn (src) fqn) throws java.lang.Exception
fqn
- The FQN of the parent
java.lang.Exception
public java.lang.Object get(Fqn (src) name, java.lang.Object key) throws java.lang.Exception
name
-
java.lang.Exception
public java.util.Map get(Fqn (src) name) throws java.lang.Exception
name
-
public boolean exists(Fqn (src) name) throws java.lang.Exception
name
-
java.lang.Exception
public java.lang.Object put(Fqn (src) name, java.lang.Object key, java.lang.Object value) throws java.lang.Exception
java.lang.Exception
public void put(Fqn (src) name, java.util.Map attributes) throws java.lang.Exception
name
- 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
modifications
- A Listjava.lang.Exception
public java.lang.Object remove(Fqn (src) name, java.lang.Object key) throws java.lang.Exception
java.lang.Exception
public void remove(Fqn (src) name) throws java.lang.Exception
java.lang.Exception
public void removeData(Fqn (src) name) throws java.lang.Exception
name
-
java.lang.Exception
public void prepare(java.lang.Object tx, java.util.List modifications, boolean one_phase) throws java.lang.Exception
tx
(tx is the key)
tx
- 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 commit(Object)
or rollback(Object)
method call later
java.lang.Exception
public void commit(java.lang.Object tx) throws java.lang.Exception
tx
and commit that transactiontx
key, to (for example) a file system (note this only holds if the previous prepare() did
not define one_phase=true
tx
-
java.lang.Exception
public void rollback(java.lang.Object tx)
tx
and roll back that transaction
tx
- public byte[] loadEntireState() throws java.lang.Exception
java.lang.Exception
public void storeEntireState(byte[] state) throws java.lang.Exception
java.lang.Exception
|
||||||||||
PREV CLASS NEXT CLASS (src) | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |