|
|||||||||||
PREV CLASS NEXT CLASS | 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 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 name)
Checks whether the CacheLoader has a node with Fqn |
java.util.Map |
get(Fqn name)
Returns all keys and values from the persistent store, given a fully qualified name |
java.lang.Object |
get(Fqn name,
java.lang.Object key)
Returns the value for a given key. |
java.util.Set |
getChildrenNames(Fqn 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 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 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 name)
Removes the given node. |
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 |
void |
rollback(java.lang.Object tx)
Roll the transaction back. |
void |
setCache(TreeCache 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 |
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 c)
c
- The cache on which this loader workspublic java.util.Set getChildrenNames(Fqn fqn) throws java.lang.Exception
fqn
- The FQN of the parent
java.lang.Exception
public java.lang.Object get(Fqn name, java.lang.Object key) throws java.lang.Exception
name
-
java.lang.Exception
public java.util.Map get(Fqn name) throws java.lang.Exception
name
-
public boolean exists(Fqn name) throws java.lang.Exception
name
-
java.lang.Exception
public java.lang.Object put(Fqn name, java.lang.Object key, java.lang.Object value) throws java.lang.Exception
java.lang.Exception
public void put(Fqn 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 name, java.lang.Object key) throws java.lang.Exception
java.lang.Exception
public void remove(Fqn name) throws java.lang.Exception
java.lang.Exception
public void removeData(Fqn 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 | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |