Package com.tangosol.net.cache
Class AbstractKeyBundler
- java.lang.Object
-
- com.tangosol.util.Base
-
- com.tangosol.net.cache.AbstractBundler
-
- com.tangosol.net.cache.AbstractKeyBundler
-
- Direct Known Subclasses:
BundlingNamedCache.GetBundler
,BundlingNamedCache.RemoveBundler
public abstract class AbstractKeyBundler extends AbstractBundler
An abstract key-based bundler serves as a base for NamedCache get() and remove() operation bundling as well as the CacheStore load() and erase() operation bundling.- Since:
- Coherence 3.3
- Author:
- gg 2007.01.28
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
AbstractKeyBundler.Bundle
Bundle represents a unit of optimized execution.-
Nested classes/interfaces inherited from class com.tangosol.net.cache.AbstractBundler
AbstractBundler.Statistics
-
Nested classes/interfaces inherited from class com.tangosol.util.Base
Base.LoggingWriter
-
-
Field Summary
-
Fields inherited from class com.tangosol.net.cache.AbstractBundler
ADJUSTMENT_FREQUENCY, m_countThreads, m_dPreviousSizeThreshold, m_listBundle
-
-
Constructor Summary
Constructors Constructor Description AbstractKeyBundler()
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract Map
bundle(Collection colKeys)
The bundle operation to be performed against a collected set of keys by the concrete AbstractKeyBundler implementations.protected AbstractBundler.Bundle
instantiateBundle()
Instantiate a new Bundle object.protected Object
process(Object oKey)
Process the specified key in a most optimal way according to the bundle settings.protected Map
processAll(Collection colKeys)
Process a colKeys of specified items in a most optimal way according to the bundle settings.protected abstract Object
unbundle(Object oKey)
Un-bundle bundled operation.-
Methods inherited from class com.tangosol.net.cache.AbstractBundler
adjust, getDelayMillis, getOpenBundle, getSizeThreshold, getThreadThreshold, isAllowAutoAdjust, resetStatistics, setAllowAutoAdjust, setDelayMillis, setSizeThreshold, setThreadThreshold, toString, updateStatistics
-
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
-
-
-
-
Method Detail
-
process
protected Object process(Object oKey)
Process the specified key in a most optimal way according to the bundle settings.- Parameters:
oKey
- the key to process- Returns:
- an execution result according to the caller's contract
-
processAll
protected Map processAll(Collection colKeys)
Process a colKeys of specified items in a most optimal way according to the bundle settings.- Parameters:
colKeys
- the collection of keys to process- Returns:
- an execution result according to the caller's contract
-
bundle
protected abstract Map bundle(Collection colKeys)
The bundle operation to be performed against a collected set of keys by the concrete AbstractKeyBundler implementations. If an exception occurs during bundle operation, it could be repeated using singleton sets.- Parameters:
colKeys
- a key collection to perform the bundled operation for- Returns:
- the Map of operation results
-
unbundle
protected abstract Object unbundle(Object oKey)
Un-bundle bundled operation. This operation would be used if an exception occurs during a bundled operation or if the number of active threads is below theThreadThreshold
value.- Parameters:
oKey
- a key to perform the un-bundled operation for- Returns:
- the operation result for the specified key, may be null
-
instantiateBundle
protected AbstractBundler.Bundle instantiateBundle()
Instantiate a new Bundle object.- Specified by:
instantiateBundle
in classAbstractBundler
- Returns:
- a new Bundle object
-
-