|
|||||||||||
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 @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(Object tx)
Commit the transaction. |
boolean |
exists(Fqn name)
Checks whether the CacheLoader has a node with Fqn |
Map |
get(Fqn name)
Returns all keys and values from the persistent store, given a fully qualified name |
Object |
get(Fqn name,
Object key)
Returns the value for a given key. |
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(Object tx,
List modifications,
boolean one_phase)
Prepare the modifications. |
void |
put(Fqn name,
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 |
Object |
put(Fqn name,
Object key,
Object value)
Inserts key and value into the attributes hashmap of the given node. |
void |
put(List modifications)
Inserts all modifications to the backend store. |
void |
remove(Fqn name)
Removes the given node. |
Object |
remove(Fqn name,
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(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(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(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 Set getChildrenNames(Fqn fqn) throws Exception
fqn
- The FQN of the parent
Exception
public Object get(Fqn name, Object key) throws Exception
name
-
Exception
public Map get(Fqn name) throws Exception
name
-
public boolean exists(Fqn name) throws Exception
name
-
Exception
public Object put(Fqn name, Object key, Object value) throws Exception
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 modifications) throws Exception
modifications
- A ListException
public Object remove(Fqn name, Object key) throws Exception
Exception
public void remove(Fqn name) throws Exception
Exception
public void removeData(Fqn name) throws Exception
name
-
Exception
public void prepare(Object tx, List modifications, boolean one_phase) throws 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
Exception
public void commit(Object tx) throws 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
-
Exception
public void rollback(Object tx)
tx
and roll back that transaction
tx
- public byte[] loadEntireState() throws Exception
Exception
public void storeEntireState(byte[] state) throws Exception
Exception
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |