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 File
m_dirParent
Parent directory for creating Environments.protected boolean
m_fTemporary
Flag indicating if this store manages temporary data.protected String
m_sDbName
Database name, used for persistent stores.protected XmlElement
m_xmlConfig
Stored 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 BinaryStore
createBinaryStore()
Factory method: Returns a new BinaryStore.void
destroyBinaryStore(BinaryStore store)
Destroy a BinaryStore previously created by this manager.boolean
equals(Object that)
Compares two BerkeleyDBBinaryStoreManagers for equality.XmlElement
getConfig()
Retrieve the manager's configuration.static DatabaseFactoryManager
getFactoryManager()
Get the DatabaseFactoryManager.File
getParentDirectory()
Get the configured parent directory.int
hashCode()
Computes the hash code of the BerkeleyDBBinaryStoreManager.boolean
isTemporary()
Return true if this is a manager for temporary stores.void
setConfig(XmlElement xmlConfig)
Specify the manager's configuration.String
toString()
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, 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:
createBinaryStore
in interfaceBinaryStoreManager
- Returns:
- a new BinaryStore object
-
destroyBinaryStore
public void destroyBinaryStore(BinaryStore store)
Destroy a BinaryStore previously created by this manager.- Specified by:
destroyBinaryStore
in interfaceBinaryStoreManager
- Parameters:
store
- a BinaryStore object previously created by this manager
-
getConfig
public XmlElement getConfig()
Retrieve the manager's configuration.- Specified by:
getConfig
in 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:
setConfig
in 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
-
-