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. If isMemberLockingEnforced() or isAppLockingEnforced() or isMemberLockingEnforced() 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() and isAppLockingEnforced() 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