@ThreadSafe public class JdbmCacheLoader extends AbstractCacheLoader
CacheLoader based on the JDBM project.
See http://jdbm.sourceforge.net/ .
Does not support transaction isolation.
The configuration string format is:
environmentDirectoryName[#databaseName]
where databaseName, if omitted, defaults to the ClusterName property of the Cache.
Data is sorted out like:/ = N /node1 = N /node1/K/k1 = v1 /node1/K/k2 = v2 /node2 = N /node2/node3 = N /node2/node3/K/k1 = v1 /node2/node3/K/k2 = v2 /node2/node4 = NN represents a node, K represents a key block. k and v represent key/value pairs. The browse operations lock the entire tree; eventually the JDBM team plans to fix this.
buddyFqnTransformer, cache, regionManager, transactions| Constructor and Description |
|---|
JdbmCacheLoader() |
| Modifier and Type | Method and Description |
|---|---|
protected void |
checkNonNull(Object param,
String paramName)
Throws an exception if the parameter is null.
|
protected void |
checkNotOpen()
Throws an exception if the environment is not open.
|
void |
create() |
void |
dump()
Dumps the tree to debug.
|
void |
dump(Object key)
Dumps the tree past the key to debug.
|
boolean |
exists(Fqn name)
Returns whether the given node exists.
|
Map |
get(Fqn name)
Returns a map containing all key-value pairs for the given FQN, or null
if the node is not present.
|
Set<?> |
getChildrenNames(Fqn name)
Returns an unmodifiable set of relative children names, or
returns null if the parent node is not found or if no children are found.
|
CacheLoaderConfig.IndividualCacheLoaderConfig |
getConfig()
Gets the configuration.
|
void |
put(Fqn name,
Map values)
Stores a map of key-values for a given FQN, but does not delete existing
key-value pairs (that is, it does not erase).
|
Object |
put(Fqn name,
Object key,
Object value)
Stores a single FQN-key-value record.
|
void |
put(List<Modification> modifications)
Applies the given modifications.
|
void |
remove(Fqn name)
Deletes the node for a given FQN and all its descendent nodes.
|
Object |
remove(Fqn name,
Object key)
Deletes a single FQN-key-value record.
|
void |
removeData(Fqn name)
Clears the map for the given node, but does not remove the node.
|
void |
setCache(CacheSPI c)
Sets the CacheImpl owner of this cache loader.
|
void |
setConfig(CacheLoaderConfig.IndividualCacheLoaderConfig base)
Sets the configuration string for this cache loader.
|
int |
size()
Returns the number of database record nodes.
|
void |
start()
Opens the environment and the database specified by the configuration
string.
|
void |
stop()
Closes the databases and environment, and nulls references to them.
|
String |
toString() |
commit, destroy, doMarshall, doUnmarshall, getMarshaller, getNodeDataList, loadEntireState, loadState, loadStateHelper, move, prepare, put, regionAwareMarshall, regionAwareUnmarshall, rollback, setRegionManager, storeEntireState, storeState, storeStateHelperpublic void create()
throws Exception
create in interface Lifecyclecreate in class AbstractCacheLoaderExceptionpublic void start()
throws Exception
start in interface Lifecyclestart in class AbstractCacheLoaderExceptionpublic void stop()
stop in interface Lifecyclestop in class AbstractCacheLoaderpublic void setConfig(CacheLoaderConfig.IndividualCacheLoaderConfig base)
base - May be an instance of the CacheLoaderConfig.IndividualCacheLoaderConfig base
class, in which case the cache loader should use the
PluggableConfigurationComponent.getProperties()
method to find configuration information. Alternatively,
may be a type-specific subclass of CacheLoaderConfig.IndividualCacheLoaderConfig,
if there is one.public CacheLoaderConfig.IndividualCacheLoaderConfig getConfig()
CacheLoaderCacheLoaderConfig.IndividualCacheLoaderConfig object.public void setCache(CacheSPI c)
setCache in interface CacheLoadersetCache in class AbstractCacheLoaderc - The cache on which this loader workspublic Set<?> getChildrenNames(Fqn name) throws IOException
name - The Fqn of the parentIOExceptionpublic Map get(Fqn name) throws Exception
public boolean exists(Fqn name) throws IOException
IOExceptionpublic Object put(Fqn name, Object key, Object value) throws Exception
Exceptionpublic void put(Fqn name, Map values) throws Exception
name - The fully qualified name of the nodevalues - A Map of attributes. Can be nullExceptionpublic void put(List<Modification> modifications) throws Exception
put in interface CacheLoaderput in class AbstractCacheLoadermodifications - A ListExceptionpublic void remove(Fqn name) throws IOException
name - the Fqn of the nodeIOExceptionpublic Object remove(Fqn name, Object key) throws Exception
Exceptionpublic void removeData(Fqn name) throws Exception
protected void checkNotOpen()
protected void checkNonNull(Object param, String paramName)
public void dump()
throws IOException
IOExceptionpublic void dump(Object key) throws IOException
IOExceptionpublic int size()
Copyright © 2012 JBoss, a division of Red Hat. All Rights Reserved.