Class BerkeleyDBBinaryStoreManager
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.io.bdb.BerkeleyDBBinaryStoreManager
-
- All Implemented Interfaces:
BinaryStoreManager,XmlConfigurable
public class BerkeleyDBBinaryStoreManager extends Base implements BinaryStoreManager, XmlConfigurable
An implementation of the BinaryStoreManager interface using Sleepycat Berkeley DB Java Edition.The usage pattern for BinaryStoreManagers is simply to instantiate them, use them to allocate a single BinaryStore instance, and forget about them. This implementation maintains knowledge of previously created Berkeley DB Environments via a static DatabaseFactoryManager, thus ensuring a minimum number of Environments are created, regardless of the life-cycle of the BinaryStoreManager.
- Author:
- mf 2005.09.29
- See Also:
- Berkeley DB JE JavaDoc
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Field Summary
Fields Modifier and Type Field Description protected Filem_dirParentParent directory for creating Environments.protected booleanm_fTemporaryFlag indicating if this store manages temporary data.protected Stringm_sDbNameDatabase name, used for persistent stores.protected XmlElementm_xmlConfigStored configuration for this Manager.
-
Constructor Summary
Constructors Constructor Description BerkeleyDBBinaryStoreManager()Default constructor.BerkeleyDBBinaryStoreManager(File dirParent, String sDbName)Construct a Berkeley DB BinaryStoreManager for the specified directory.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description BinaryStorecreateBinaryStore()Factory method: Returns a new BinaryStore.voiddestroyBinaryStore(BinaryStore store)Destroy a BinaryStore previously created by this manager.booleanequals(Object that)Compares two BerkeleyDBBinaryStoreManagers for equality.XmlElementgetConfig()Retrieve the manager's configuration.static DatabaseFactoryManagergetFactoryManager()Get the DatabaseFactoryManager.FilegetParentDirectory()Get the configured parent directory.inthashCode()Computes the hash code of the BerkeleyDBBinaryStoreManager.booleanisTemporary()Return true if this is a manager for temporary stores.voidsetConfig(XmlElement xmlConfig)Specify the manager's configuration.StringtoString()Return a human readable description of the BinaryStoreManager.-
Methods inherited from class com.tangosol.util.Base
azzert, azzert, azzert, azzertFailed, breakLines, breakLines, capitalize, checkNotEmpty, checkNotNull, checkRange, computeSafeWaitTime, decimalValue, dup, dup, ensureBigDecimal, ensureClassLoader, ensureRuntimeException, ensureRuntimeException, equals, equalsDeep, err, err, err, err, err, escape, formatDateTime, getCallerStackFrame, getCommonMonitor, getCommonMonitor, getCommonMonitor, getContextClassLoader, getContextClassLoader, getDeepMessage, getErr, getLastSafeTimeMillis, getLog, getMaxDecDigits, getMaxHexDigits, getOriginalException, getOut, getProcessRandom, getRandom, getRandomBinary, getRandomBinary, getRandomString, getSafeTimeMillis, getStackFrame, getStackFrames, getStackTrace, getStackTrace, getStackTrace, getThreadFactory, getTimeZone, getUpTimeMillis, hashCode, hexValue, indentString, indentString, isDecimal, isHex, isLogEcho, isOctal, log, log, log, log, log, makeInteger, makeLong, makeThread, mergeArray, mergeBooleanArray, mergeByteArray, mergeCharArray, mergeDoubleArray, mergeFloatArray, mergeIntArray, mergeLongArray, mod, mod, newHashMap, newHashMap, newHashSet, newHashSet, octalValue, out, out, out, out, out, pad, parseBandwidth, parseBandwidth, parseDelimitedString, parseHex, parseHex, parseMemorySize, parseMemorySize, parsePercentage, parseTime, parseTime, parseTimeNanos, parseTimeNanos, printStackTrace, randomize, randomize, randomize, randomize, read, read, read, read, read, read, read, replace, setErr, setLog, setLogEcho, setOut, sleep, toBandwidthString, toBandwidthString, toCharEscape, toCrc, toCrc, toCrc, toCrc, toCrc, toDecString, toDelimitedString, toDelimitedString, toDelimitedString, toDelimitedString, toHex, toHex, toHexDump, toHexEscape, toHexEscape, toHexEscape, toHexEscape, toHexString, toMemorySizeString, toMemorySizeString, toQuotedCharEscape, toQuotedStringEscape, toSqlString, toString, toString, toStringEscape, toUnicodeEscape, trace, trace, trace, trace, trace, trace, trace, trace, trace, truncateString, truncateString, wait
-
-
-
-
Field Detail
-
m_xmlConfig
protected XmlElement m_xmlConfig
Stored configuration for this Manager.
-
m_dirParent
protected File m_dirParent
Parent directory for creating Environments.
-
m_sDbName
protected String m_sDbName
Database name, used for persistent stores.
-
m_fTemporary
protected boolean m_fTemporary
Flag indicating if this store manages temporary data.
-
-
Constructor Detail
-
BerkeleyDBBinaryStoreManager
public BerkeleyDBBinaryStoreManager()
Default constructor.The temporary Environment directory will be placed under $tmp/coherence/bdb, where $tmp is the system defined temp directory.
Configuration is performed via XmlConfigurable interface.
-
BerkeleyDBBinaryStoreManager
public BerkeleyDBBinaryStoreManager(File dirParent, String sDbName)
Construct a Berkeley DB BinaryStoreManager for the specified directory.A temporary directory will be created beneath the specified parent directory, for use by the Berkeley Environment.
Additional configuration is performed via XmlConfigurable interface.
- Parameters:
dirParent- the parent directory for the EnvironmentsDbName- the name of the database to store the cache's data within. This value is only specified when using a persistent store.- See Also:
setConfig(com.tangosol.run.xml.XmlElement)
-
-
Method Detail
-
toString
public String toString()
Return a human readable description of the BinaryStoreManager.
-
equals
public boolean equals(Object that)
Compares two BerkeleyDBBinaryStoreManagers for equality.Two instances are considered to be equal if their underlying configuration is identical, or if they have reference equality.
-
hashCode
public int hashCode()
Computes the hash code of the BerkeleyDBBinaryStoreManager.The hash code is computed as the sum of the hash codes of the Objects making up the BerkeleyDBBinaryStoreManager's configuration.
-
createBinaryStore
public BinaryStore createBinaryStore()
Factory method: Returns a new BinaryStore.- Specified by:
createBinaryStorein interfaceBinaryStoreManager- Returns:
- a new BinaryStore object
-
destroyBinaryStore
public void destroyBinaryStore(BinaryStore store)
Destroy a BinaryStore previously created by this manager.- Specified by:
destroyBinaryStorein interfaceBinaryStoreManager- Parameters:
store- a BinaryStore object previously created by this manager
-
getConfig
public XmlElement getConfig()
Retrieve the manager's configuration.- Specified by:
getConfigin interfaceXmlConfigurable- Returns:
- XmlElement containing the configuration
-
setConfig
public void setConfig(XmlElement xmlConfig)
Specify the manager's configuration.Any configuration setting prefixed with je. will be passed through to Berkeley DB Configuration.
- Specified by:
setConfigin interfaceXmlConfigurable- Parameters:
xmlConfig- the new configuration- See Also:
- Berkeley DB Configuration
-
getFactoryManager
public static DatabaseFactoryManager getFactoryManager()
Get the DatabaseFactoryManager.This manager is used to find pre-existing DatabaseFactory objects.
- Returns:
- the DatabaseFactoryManager
-
getParentDirectory
public File getParentDirectory()
Get the configured parent directory.This is the directory in which Berkeley DB Environment sub-directories will be created.
- Returns:
- the parent directory
-
isTemporary
public boolean isTemporary()
Return true if this is a manager for temporary stores.- Returns:
- true if this is a manager for temporary stores
-
-