Interface SplitSessionCollectionConfiguration
-
- All Known Implementing Classes:
ConfigurationImpl
public interface SplitSessionCollectionConfiguration
This simple interface is used to get system properties overflowThreshold and overflowCacheName for use by ConfigurationImpl and SplitSessionCollection.setConfig User: mmunn Date: 7/19/11
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description String
checkCompatible(com.tangosol.coherence.servlet.ValidatingConfiguration configuration)
Compares an existing configuration with a new one.String
getApplicationName()
Return the name of the web application.String
getCacheConfigurationPath()
Get the user configured cache-config.xml, Default is session-cache-config.String
getCacheDelegatorClassName()
The fully qualified class name of the CacheDelegator implementation to use.String
getDistControllerClassName()
The name of an implementation of the SessionDistributionController interface to use.String
getLocalAttributesCacheName()
The name of the local cache that stores non-distributed session attributes (if allowed.)String
getLocalSessionCacheName()
The name of the local cache that stores non-distributed sessions when the SessionDistributionController option is implemented.int
getLockTimeout()
The maximum time (in seconds) that Coherence*Web will wait attempting to aquire a lock on a session.int
getMaxInactiveSeconds()
Determine the default maximum interval, in seconds, that a session will be kept alive without any activity.String
getOverflowCacheName()
This method uses the ConfigurationImpl.getStringValue method to return the configured overflowCacheName value from the web.xml, System.property or defaultValue if not configured.int
getOverflowThreshold()
This method uses the ConfigurationImpl.getIntegerValue method to return the configured overflowThreshold value from the web.xml, System.property or defaultValue if not configured.String
getOwnershipServiceName()
The name of the invocation service that will be used to manage sticky session ownership.String
getScopeControllerClassName()
The name of an implementation of the AttributeScopeController interface to use.String
getSessionAccessDebugLoggingFilter()
Get the String containing the session attribute prefixes/names not to be logged when Session Access Debug Logging is enabled.String
getSessionCacheName()
The name of the clustered cache that stores the sessions.String
getSessionExpiryFilterFactoryClassName()
A class name of a SessionExpiryFilterFactory implementation.String
getSessionIdGeneratorClassName()
The fully qualified class name of the HttpSessionIdGenerator implementation to use.int
getSessionIdLength()
Determine the length that session IDs will be created with.boolean
isAllowLocalAttributes()
Determine if non-serializable attributes should be preserved as local.boolean
isAppLockingEnforced()
Determine whether or not two or more applications should be prevented from accessing the same session simultaneously.boolean
isEnableAttributeListenerOptimization()
Determine if attribute listeners should be executed if the same instance of a session attribute is being replaced in the session.boolean
isEnableSessionAccessDebugLogging()
Determines if the Session Access Debug Logging is enabled, i.e.boolean
isEnableSuspectAttributes()
Determine if suspect attributes need special treatment.boolean
isLogInvalidationExceptions()
Determine if Coherence*Web should log exceptions thrown by session attribute listeners during invalidation.boolean
isMemberLockingEnforced()
Determine whether or not two or more JVMs should be prevented from accessing the same session simultaneously.boolean
isOwnershipSticky()
Determine if the sticky session ownership option is on.boolean
isReaperAssumeLocality()
Determine if it can be assumed that each existent session is managed on a server that is doing reaping, and thus each server can reap only the sessions that are managed on it.boolean
isSessionLockingEnforced()
Determine whether concurrent access to a session is permitted.boolean
isStrict()
Determine if the Servlet specification is being followed strictly.boolean
isThreadLockingEnforced()
Determine whether a session should be single threaded (only one request per session accessing the session at a time) or multithreaded (any number of requests accessing the session at a time).boolean
logThreadsHoldingLock()
When a member fails to obtain a lock on a session, execute an invocation service on the member holding the session lock to log the threads that are holding the lock.
-
-
-
Method Detail
-
getOverflowThreshold
int getOverflowThreshold()
This method uses the ConfigurationImpl.getIntegerValue method to return the configured overflowThreshold value from the web.xml, System.property or defaultValue if not configured.- Returns:
- overflowThreshold int value.
-
getOverflowCacheName
String getOverflowCacheName()
This method uses the ConfigurationImpl.getStringValue method to return the configured overflowCacheName value from the web.xml, System.property or defaultValue if not configured.- Returns:
- the NamedCache
-
getApplicationName
String getApplicationName()
Return the name of the web application.- Returns:
- the name of the web application; never null or empty
-
isLogInvalidationExceptions
boolean isLogInvalidationExceptions()
Determine if Coherence*Web should log exceptions thrown by session attribute listeners during invalidation.- Returns:
- true if exceptions should be logged
-
isStrict
boolean isStrict()
Determine if the Servlet specification is being followed strictly.- Returns:
- true if the Servlet specification is being followed strictly
-
isOwnershipSticky
boolean isOwnershipSticky()
Determine if the sticky session ownership option is on.This is available only if an Enterprise Edition or Grid Edition license is available.
- Returns:
- true if the sticky session ownership option is on
-
logThreadsHoldingLock
boolean logThreadsHoldingLock()
When a member fails to obtain a lock on a session, execute an invocation service on the member holding the session lock to log the threads that are holding the lock. This would be used for diagnostic purposes.This is available only if an Enterprise Edition or Grid Edition license is available.
- Returns:
- true if the diagnostic invocation service should be executed
-
getOwnershipServiceName
String getOwnershipServiceName()
The name of the invocation service that will be used to manage sticky session ownership.- Returns:
- the invocation service
-
getSessionCacheName
String getSessionCacheName()
The name of the clustered cache that stores the sessions.- Returns:
- The name of the cache
-
getDistControllerClassName
String getDistControllerClassName()
The name of an implementation of the SessionDistributionController interface to use.- Returns:
- The name of the class
-
getScopeControllerClassName
String getScopeControllerClassName()
The name of an implementation of the AttributeScopeController interface to use.- Returns:
- The name of the class
-
getLocalSessionCacheName
String getLocalSessionCacheName()
The name of the local cache that stores non-distributed sessions when the SessionDistributionController option is implemented.- Returns:
- The name of the cash
-
getLocalAttributesCacheName
String getLocalAttributesCacheName()
The name of the local cache that stores non-distributed session attributes (if allowed.)- Returns:
- The name of the cash
-
isAllowLocalAttributes
boolean isAllowLocalAttributes()
Determine if non-serializable attributes should be preserved as local.This feature is available only if the sticky session ownership option is on and is enforced if a distribution controller is specified.
- Returns:
- true iff non-serializable attributes should be preserved
-
isEnableSuspectAttributes
boolean isEnableSuspectAttributes()
Determine if suspect attributes need special treatment.- Returns:
- true if suspect attributes need special treatment
-
isEnableAttributeListenerOptimization
boolean isEnableAttributeListenerOptimization()
Determine if attribute listeners should be executed if the same instance of a session attribute is being replaced in the session.- Returns:
- true if optimization should be used
-
getMaxInactiveSeconds
int getMaxInactiveSeconds()
Determine the default maximum interval, in seconds, that a session will be kept alive without any activity.- Returns:
- the default number of seconds to keep an inactive session
-
getSessionIdLength
int getSessionIdLength()
Determine the length that session IDs will be created with.- Returns:
- the length, in characters, for session IDs
-
getSessionIdGeneratorClassName
String getSessionIdGeneratorClassName()
The fully qualified class name of the HttpSessionIdGenerator implementation to use.- Returns:
- the class name
-
getCacheDelegatorClassName
String getCacheDelegatorClassName()
The fully qualified class name of the CacheDelegator implementation to use.- Returns:
- the CacheDelegator class name
-
isSessionLockingEnforced
boolean isSessionLockingEnforced()
Determine whether concurrent access to a session is permitted. IfisMemberLockingEnforced()
orisAppLockingEnforced()
orisMemberLockingEnforced()
return true, then so will this method.If this is set to false, then concurrent access is permitted and the last update wins.
- Returns:
- true if concurrent access to a session is limited.
-
isMemberLockingEnforced
boolean isMemberLockingEnforced()
Determine whether or not two or more JVMs should be prevented from accessing the same session simultaneously.- Returns:
- true to limit the access to a session to one JVM at a time
-
isAppLockingEnforced
boolean isAppLockingEnforced()
Determine whether or not two or more applications should be prevented from accessing the same session simultaneously.Note that application-level locking requires that member-level session locking is enabled. In other words, if this method returns true, the value of
isMemberLockingEnforced()
will also be true.- Returns:
- true to limit the access to a session to one application at a time
-
isThreadLockingEnforced
boolean isThreadLockingEnforced()
Determine whether a session should be single threaded (only one request per session accessing the session at a time) or multithreaded (any number of requests accessing the session at a time).Note that a single threaded session requires that both member-level and application-level session locking are enabled. In other words, if this method returns true, the value of
isMemberLockingEnforced()
andisAppLockingEnforced()
will also be true.- Returns:
- true to limit the access to a session to one thread at a time
-
getLockTimeout
int getLockTimeout()
The maximum time (in seconds) that Coherence*Web will wait attempting to aquire a lock on a session.- Returns:
- the timeout (in seconds) for aquiring a lock on a session
-
isReaperAssumeLocality
boolean isReaperAssumeLocality()
Determine if it can be assumed that each existent session is managed on a server that is doing reaping, and thus each server can reap only the sessions that are managed on it.- Returns:
- return true if and only if each existent session is managed on a server that is doing reaping
-
getSessionExpiryFilterFactoryClassName
String getSessionExpiryFilterFactoryClassName()
A class name of a SessionExpiryFilterFactory implementation. This factory can be used to customize/extend the current filter for selecting what sessions to reap. An example is push replication that needs to make sure that only sessions in this cluster is invalidated. The factory should extend the current behavior by adding its own filter before or after the default filter provided by the HttpSessionCollection class.- Returns:
- The SessionExpiryFilterFactory implementation class name to use, if any.
-
isEnableSessionAccessDebugLogging
boolean isEnableSessionAccessDebugLogging()
Determines if the Session Access Debug Logging is enabled, i.e. creation, invalidation, attribute insertion, update and removal.- Returns:
- true to enable logging these session access events.
-
getSessionAccessDebugLoggingFilter
String getSessionAccessDebugLoggingFilter()
Get the String containing the session attribute prefixes/names not to be logged when Session Access Debug Logging is enabled.- Returns:
- comma delimited string of attribute prefixes/names to be filtered
-
getCacheConfigurationPath
String getCacheConfigurationPath()
Get the user configured cache-config.xml, Default is session-cache-config.- Returns:
- string name of cache-config.xml.
-
checkCompatible
String checkCompatible(com.tangosol.coherence.servlet.ValidatingConfiguration configuration)
Compares an existing configuration with a new one. In the case of incompatibility optionally returns an explanation.- Parameters:
configuration
- the new configuration.- Returns:
- null if compatible, explanation of incompatibility otherwise
-
-