|
||||||||||
PREV CLASS (src) NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jboss.cache.loader.SharedStoreCacheLoader
CacheLoader proxy used only when multiple CacheLoaders in a cluster access the same underlying store (e.g.
a shared filesystem, or DB). SharedStoreCacheLoader is a simply facade to a real CacheLoader implementation. It
always delegates reads to the real CacheLoader. Writes are forwarded only if this SharedStoreCacheLoader is
currently the cordinator. This avoid having all CacheLoaders in a cluster writing the same data to the same
underlying store. Although not incorrect (e.g. a DB will just discard additional INSERTs for the same key, and
throw an exception), this will avoid a lot of redundant work.
Whenever the current coordinator dies (or leaves), the second in line will take over. That SharedStoreCacheLoader
will then pass writes through to its underlying CacheLoader.
Constructor Summary | |
SharedStoreCacheLoader(CacheLoader (src) loader,
Address local_addr,
boolean coordinator)
|
Method Summary | |
void |
cacheStarted(TreeCache (src) cache)
Called when the cache is started. |
void |
cacheStopped(TreeCache (src) cache)
Called when the cache is stopped. |
void |
commit(java.lang.Object tx)
Commit the transaction. |
void |
create()
create the service, do expensive operations etc |
void |
destroy()
destroy the service, tear down |
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 |
nodeCreated(Fqn (src) fqn)
Called when a node is created |
void |
nodeEvicted(Fqn (src) fqn)
Called when a node is evicted (not the same as remove()). |
void |
nodeLoaded(Fqn (src) fqn)
Called when a node is loaded into memory via the CacheLoader. |
void |
nodeModified(Fqn (src) fqn)
Called when a node is modified, e.g., one (key, value) pair in the internal map storage has been modified. |
void |
nodeRemoved(Fqn (src) fqn)
Called when a node is removed. |
void |
nodeVisited(Fqn (src) fqn)
Called when a node is visisted, i.e., get(). |
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 props)
Sets the configuration. |
void |
start()
start the service, create is already called |
void |
stop()
stop the service |
void |
storeEntireState(byte[] state)
Store the given state in secondary storage. |
void |
viewChange(View new_view)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SharedStoreCacheLoader(CacheLoader (src) loader, Address local_addr, boolean coordinator)
Method Detail |
public void nodeCreated(Fqn (src) fqn)
TreeCacheListener (src)
nodeCreated
in interface TreeCacheListener (src)
fqn
- public void nodeRemoved(Fqn (src) fqn)
TreeCacheListener (src)
nodeRemoved
in interface TreeCacheListener (src)
fqn
- public void nodeLoaded(Fqn (src) fqn)
TreeCacheListener (src)
TreeCacheListener.nodeCreated(Fqn)
.
nodeLoaded
in interface TreeCacheListener (src)
public void nodeEvicted(Fqn (src) fqn)
TreeCacheListener (src)
nodeEvicted
in interface TreeCacheListener (src)
fqn
- public void nodeModified(Fqn (src) fqn)
TreeCacheListener (src)
nodeModified
in interface TreeCacheListener (src)
fqn
- public void nodeVisited(Fqn (src) fqn)
TreeCacheListener (src)
nodeVisited
in interface TreeCacheListener (src)
fqn
- public void cacheStarted(TreeCache (src) cache)
TreeCacheListener (src)
cacheStarted
in interface TreeCacheListener (src)
cache
- public void cacheStopped(TreeCache (src) cache)
TreeCacheListener (src)
cacheStopped
in interface TreeCacheListener (src)
cache
- public void viewChange(View new_view)
viewChange
in interface TreeCacheListener (src)
public void setConfig(java.util.Properties props)
CacheLoader (src)
Service.create()
and Service.start()
setConfig
in interface CacheLoader (src)
props
- A list of properties, defined in the XML filepublic void setCache(TreeCache (src) c)
CacheLoader (src)
setCache
in interface CacheLoader (src)
c
- The cache on which this loader workspublic java.util.Set getChildrenNames(Fqn (src) fqn) throws java.lang.Exception
CacheLoader (src)
getChildrenNames
in interface CacheLoader (src)
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
CacheLoader (src)
get
in interface CacheLoader (src)
name
-
java.lang.Exception
public java.util.Map get(Fqn (src) name) throws java.lang.Exception
CacheLoader (src)
get
in interface CacheLoader (src)
name
-
public boolean exists(Fqn (src) name) throws java.lang.Exception
CacheLoader (src)
exists
in interface CacheLoader (src)
name
-
java.lang.Exception
public java.lang.Object put(Fqn (src) name, java.lang.Object key, java.lang.Object value) throws java.lang.Exception
CacheLoader (src)
put
in interface CacheLoader (src)
java.lang.Exception
public void put(Fqn (src) name, java.util.Map attributes) throws java.lang.Exception
CacheLoader (src)
put
in interface CacheLoader (src)
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
CacheLoader (src)
put
in interface CacheLoader (src)
modifications
- A Listjava.lang.Exception
public java.lang.Object remove(Fqn (src) name, java.lang.Object key) throws java.lang.Exception
CacheLoader (src)
remove
in interface CacheLoader (src)
java.lang.Exception
public void remove(Fqn (src) name) throws java.lang.Exception
CacheLoader (src)
remove
in interface CacheLoader (src)
java.lang.Exception
public void removeData(Fqn (src) name) throws java.lang.Exception
CacheLoader (src)
removeData
in interface CacheLoader (src)
name
-
java.lang.Exception
public void prepare(java.lang.Object tx, java.util.List modifications, boolean one_phase) throws java.lang.Exception
CacheLoader (src)
tx
(tx is the key)
prepare
in interface CacheLoader (src)
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 CacheLoader.commit(Object)
or CacheLoader.rollback(Object)
method call later
java.lang.Exception
public void commit(java.lang.Object tx) throws java.lang.Exception
CacheLoader (src)
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
commit
in interface CacheLoader (src)
tx
-
java.lang.Exception
public void rollback(java.lang.Object tx)
CacheLoader (src)
tx
and roll back that transaction
rollback
in interface CacheLoader (src)
tx
- public byte[] loadEntireState() throws java.lang.Exception
CacheLoader (src)
loadEntireState
in interface CacheLoader (src)
java.lang.Exception
public void storeEntireState(byte[] state) throws java.lang.Exception
CacheLoader (src)
storeEntireState
in interface CacheLoader (src)
java.lang.Exception
public void create() throws java.lang.Exception
Service (src)
create
in interface Service (src)
java.lang.Exception
public void start() throws java.lang.Exception
Service (src)
start
in interface Service (src)
java.lang.Exception
public void stop()
Service (src)
stop
in interface Service (src)
public void destroy()
Service (src)
destroy
in interface Service (src)
|
||||||||||
PREV CLASS (src) NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |