public class SplitHttpSessionCollection extends TraditionalHttpSessionCollection
The collection uses three configurable named caches to manage its session information in the cluster:
AbstractHttpSessionCollection.ApplicationScopeController, AbstractHttpSessionCollection.DistributedController, AbstractHttpSessionCollection.GlobalScopeController, AbstractHttpSessionCollection.HybridController, AbstractHttpSessionCollection.LocalControllerBase.LoggingWriter, Base.StackFrameHttpSessionCollection.AttributeScopeController, HttpSessionCollection.SessionDistributionController| Modifier and Type | Field and Description |
|---|---|
static String |
CACHENAME_OVERFLOW
The name of the clustered cache that stores the attributes that are
too large to store as part of the session objects.
|
static String |
CTX_INIT_ATTR_OVERFLOW_THRESHOLD
The configuration property for the "split" model that overrides
the length that attributes must be below to be stored inside a
session ("embedded") or above which they will be stored in the
separated "overflow" cache ("external").
|
static int |
CTX_INIT_ATTR_OVERFLOW_THRESHOLD_DEFAULT |
static String |
CTX_INIT_CACHENAME_OVERFLOW
The configuration property that overrides the name of the clustered
cache that stores the "overflowing" (split-out due to size) session
attributes.
|
CACHENAME_LOCAL_ATTRIBUTES, CACHENAME_LOCAL_SESSIONS, CACHENAME_SESSIONS, CTX_INIT_ENABLE_SESSION_ACCESS_DEBUG_LOGGING, CTX_INIT_SESSION_ACCESS_DEBUG_LOGGING_FILTER, f_mapLocks, SERVICENAME_OWNERSHIP| Constructor and Description |
|---|
SplitHttpSessionCollection()
Default constructor (required).
|
| Modifier and Type | Method and Description |
|---|---|
void |
configure(XmlElement xml,
SessionHelper sessionHelper)
Configure the session collection using the xml document.
|
Set<String> |
deleteExpiredLocalSessions()
Deletes the locally opened sessions in the session-cache which have timed out, using an EntryProcessor
and return the ids of the deleted sessions.
|
Set<String> |
deleteExpiredSessions()
Delete the sessions in the session-cache which have timed out, using an EntryProcessor
and return the ids of deleted sessions.
|
int |
getAverageExternalAttributeSize()
Calculate the average size (in bytes) of the session attributes stored in
the external attribute cache since the last time statistics were reset.
|
NamedCache |
getExternalAttributeCache()
Obtain the cache used to store the large session attributes.
|
int |
getExternalAttributeUpdates()
Return the number of updates to session attributes stored in the external
attribute cache since the last time statistics were reset.
|
int |
getMaxExternalAttributeSize()
Return the maximum size (in bytes) of a session attribute stored in the
external attribute cache since the last time statistics were reset.
|
int |
getMinExternalAttributeSize()
Determine the minimum size of an attribute such that it is considered
"large" and will be stored in a separate "external" or "overflow"
cache.
|
Map<Object,Set<SplitHttpSessionModel.ElasticKey>> |
getMultiExternalAttributeMap()
Obtain the map of session key to segment keys of large session attributes
that exceeds 64M.
|
protected AbstractHttpSessionModel |
instantiateModel(javax.servlet.http.HttpSession session,
String sId)
Factory Method: Instantiate a AbstractHttpSessionModel or subclass
thereof.
|
protected void |
onExternalAttributeUpdate(int cb)
Notify the session collection that an attribute of the specified size (in
bytes) was updated in the external attribute cache.
|
void |
resetStatistics()
Reset all statistics maintained by this session collection.
|
void |
shutdown()
Notify the session collection that it is being shut down.
|
String |
toString()
Returns a string representation of the object.
|
activate, addHttpSessionAttributeListener, addHttpSessionListener, cleanUpDeletedSessions, clearClusterCache, create, create, deleteModelFromLocalCaches, destroy, destroyLocalAttributesCache, ensureClusterCache, ensureLocalAttributesCache, enter, enter, exit, exit, fireSessionDestroyedListeners, generateSessionId, get, getActiveCache, getAppControlCache, getAverageModelLifetime, getAverageModelSize, getCacheDelegator, getClusterCache, getCollection, getConfig, getCurrentTime, getDefaultMaxInactiveInterval, getDescription, getDistributionController, getHttpSessionAttributeListeners, getHttpSessionCollectionConfiguration, getHttpSessionListeners, getLocalAttributesCache, getLocalCache, getLocalCacheName, getLocalSessionIds, getLocalSessonIdsSnapshot, getMaxModelSize, getMinModelSize, getModel, getModel, getModelDeaths, getModelUpdates, getOwnedCache, getOwnedModel, getScopeController, getSerializer, getSessionAccessDebugLoggingFilter, getSessionExpiryFilter, getSessionIdGenerator, getSessionIdLength, getSessionOwnershipInfo, getStickyCache, getStickyExitTaskCache, getStickyService, isActive, isAllowLocalAttributes, isAppLockingEnforced, isAssumeLocality, isEnableAttributeListenerOptimization, isEnabledSessionAccessDebugLogging, isEnableSuspectAttributes, isExistent, isMemberLockingEnforced, isOwned, isOwnershipSticky, isSessionLockingEnforced, isStrict, isStuck, isThreadLockingEnforced, iterateIds, iteratePotentiallyExpiredIds, iteratePotentiallyExpiredLocalIds, logInvalidationExceptions, obtainAppOwnership, obtainClusterOwnership, obtainThreadOwnership, onModelUpdate, passivate, postCreate, putBlind, recordMapLocksState, releaseAppOwnership, releaseCache, releaseClusterOwnership, releaseStuckSession, releaseThreadOwnership, remapSessionId, removeAllBlind, removeBlind, removeHttpSessionAttributeListener, removeHttpSessionListener, removeMapLocksState, setCacheDelegator, setConfiguration, setSerializer, updateSessionStatiticsazzert, 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, waitpublic static final String CTX_INIT_CACHENAME_OVERFLOW
public static final String CTX_INIT_ATTR_OVERFLOW_THRESHOLD
public static final String CACHENAME_OVERFLOW
public static final int CTX_INIT_ATTR_OVERFLOW_THRESHOLD_DEFAULT
public SplitHttpSessionCollection()
public void shutdown()
shutdown in interface HttpSessionCollectionshutdown in class AbstractHttpSessionCollectionpublic void configure(XmlElement xml, SessionHelper sessionHelper)
configure in interface CoherenceHttpSessionCollectionconfigure in class AbstractHttpSessionCollectionxml - the xml elementsessionHelper - the session helperpublic int getMinExternalAttributeSize()
public NamedCache getExternalAttributeCache()
public Map<Object,Set<SplitHttpSessionModel.ElasticKey>> getMultiExternalAttributeMap()
public String toString()
toString in class TraditionalHttpSessionCollectionprotected AbstractHttpSessionModel instantiateModel(javax.servlet.http.HttpSession session, String sId)
instantiateModel in class TraditionalHttpSessionCollectionsession - the session that delegates to this modelsId - the session IDpublic int getAverageExternalAttributeSize()
public int getMaxExternalAttributeSize()
public int getExternalAttributeUpdates()
public void resetStatistics()
resetStatistics in class AbstractHttpSessionCollectionprotected void onExternalAttributeUpdate(int cb)
cb - the size (in bytes) of the external attributepublic Set<String> deleteExpiredSessions()
deleteExpiredSessions in interface HttpSessionCollectiondeleteExpiredSessions in class AbstractHttpSessionCollectionpublic Set<String> deleteExpiredLocalSessions()
deleteExpiredLocalSessions in interface HttpSessionCollectiondeleteExpiredLocalSessions in class AbstractHttpSessionCollection