Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.eclipse.jetty.server.session
Class HashSessionManager

    java.lang.Object
      org.eclipse.jetty.util.component.AbstractLifeCycle
          org.eclipse.jetty.server.session.AbstractSessionManager
              org.eclipse.jetty.server.session.HashSessionManager

All Implemented Interfaces:
  SessionManager, LifeCycle

    public class HashSessionManager

extends AbstractSessionManager

An in-memory implementation of SessionManager.

This manager supports saving sessions to disk, either periodically or at shutdown. Sessions can also have their content idle saved to disk to reduce the memory overheads of large idle sessions.

Nested Class Summary
`protected class` | `HashSessionManager.ClassLoadingObjectInputStream`
`protected class` | `HashSessionManager.HashedSession`

Nested classes/interfaces inherited from class org.eclipse.jetty.server.session.AbstractSessionManager
`AbstractSessionManager.NullSessionContext, AbstractSessionManager.Session, AbstractSessionManager.SessionIf`

Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`AbstractLifeCycle.AbstractLifeCycleListener`

Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
`LifeCycle.Listener`

Field Summary
`protected java.util.concurrent.ConcurrentMap<java.lang.String,HashSessionManager.HashedSession>` | `_sessions`

Fields inherited from class org.eclipse.jetty.server.session.AbstractSessionManager
`__defaultSessionTrackingModes, __distantFuture, _checkingRemoteSessionIdEncoding, _context, _dftMaxIdleSecs, _httpOnly, _loader, _maxCookieAge, _nodeIdInSessionId, _refreshCookieAge, _secureCookies, _sessionAttributeListeners, _sessionComment, _sessionCookie, _sessionDomain, _sessionHandler, _sessionIdManager, _sessionIdPathParameterName, _sessionIdPathParameterNamePrefix, _sessionListeners, _sessionPath, _sessionsStats, _sessionTimeStats, _sessionTrackingModes`

Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING`

Fields inherited from interface org.eclipse.jetty.server.SessionManager
`__CheckRemoteSessionEncoding, __DefaultSessionCookie, __DefaultSessionDomain, __DefaultSessionIdPathParameterName, __MaxAgeProperty, __SessionCookieProperty, __SessionDomainProperty, __SessionIdPathParameterNameProperty, __SessionPathProperty`

Constructor Summary
`HashSessionManager()`

Method Summary
`protected void` | `addSession(AbstractSessionManager.Session session)`
`void` | `doStart()`
`void` | `doStop()`
`int` | `getIdleSavePeriod()`
`int` | `getSavePeriod()`
`int` | `getScavengePeriod()`
`AbstractSessionManager.Session` | `getSession(java.lang.String idInCluster)` Get a known existing session
`java.util.Map` | `getSessionMap()`
`int` | `getSessions()`
`java.io.File` | `getStoreDirectory()`
`protected void` | `invalidateSessions()`
`boolean` | `isLazyLoad()`
`protected AbstractSessionManager.Session` | `newSession(HttpServletRequest request)` Create a new session instance
`protected AbstractSessionManager.Session` | `newSession(long created, long accessed, java.lang.String clusterId)`
`protected boolean` | `removeSession(java.lang.String clusterId)`
`HashSessionManager.HashedSession` | `restoreSession(java.io.InputStream is, HashSessionManager.HashedSession session)`
`void` | `restoreSessions()`
`void` | `saveSessions()`
`protected void` | `scavenge()` Find sessions that have timed out and invalidate them.
`void` | `setIdleSavePeriod(int seconds)` Configures the period in seconds after which a session is deemed idle and saved to save on session memory.
`void` | `setLazyLoad(boolean lazyLoad)`
`void` | `setMaxInactiveInterval(int seconds)` Sets the max period of inactivity, after which the session is invalidated, in seconds.
`void` | `setSavePeriod(int seconds)`
`void` | `setScavengePeriod(int seconds)`
`void` | `setStoreDirectory(java.io.File dir)`

Methods inherited from class org.eclipse.jetty.server.session.AbstractSessionManager
`access, addEventListener, addSession, clearEventListeners, complete, getClusterId, getDefaultSessionTrackingModes, getEffectiveSessionTrackingModes, getHttpOnly, getHttpSession, getIdManager, getMaxInactiveInterval, getMaxSessions, getMetaManager, getMinSessions, getNodeId, getRefreshCookieAge, getSessionCookie, getSessionCookieConfig, getSessionHandler, getSessionIdPathParameterName, getSessionIdPathParameterNamePrefix, getSessionsMax, getSessionsTotal, getSessionTimeMax, getSessionTimeMean, getSessionTimeStdDev, getSessionTimeTotal, isCheckingRemoteSessionIdEncoding, isNodeIdInSessionId, isUsingCookies, isUsingURLs, isValid, newHttpSession, removeEventListener, removeSession, removeSession, resetStats, setCheckingRemoteSessionIdEncoding, setHttpOnly, setIdManager, setNodeIdInSessionId, setRefreshCookieAge, setSecureCookies, setSessionCookie, setSessionDomain, setSessionHandler, setSessionIdPathParameterName, setSessionTrackingModes, statsReset`

Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
`addLifeCycleListener, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
`addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop`

Field Detail

### _sessions

    protected java.util.concurrent.ConcurrentMap<java.lang.String,HashSessionManager.HashedSession> _sessions

Constructor Detail

### HashSessionManager

    public HashSessionManager()

Method Detail

### doStart

    public void doStart()
                 throws java.lang.Exception

  Overrides:
    `doStart` in class `AbstractSessionManager`
  Throws:
    `java.lang.Exception`

### doStop

    public void doStop()
                throws java.lang.Exception

  Overrides:
    `doStop` in class `AbstractSessionManager`
  Throws:
    `java.lang.Exception`

### getScavengePeriod

    public int getScavengePeriod()

  Returns:
    the period in seconds at which a check is made for sessions to be invalidated.

### getSessionMap

    public java.util.Map getSessionMap()

  Specified by:
    `getSessionMap` in class `AbstractSessionManager`

### getSessions

    public int getSessions()

  Overrides:
    `getSessions` in class `AbstractSessionManager`

### getIdleSavePeriod

    public int getIdleSavePeriod()

  Returns:
    seconds Idle period after which a session is saved

### setIdleSavePeriod

    public void setIdleSavePeriod(int seconds)

  Configures the period in seconds after which a session is deemed idle and saved to save on session memory. The session is persisted, the values attribute map is cleared and the session set to idled.

  Parameters:
    `seconds` - Idle period after which a session is saved

### setMaxInactiveInterval

    public void setMaxInactiveInterval(int seconds)

  Description copied from interface: `SessionManager`
  Sets the max period of inactivity, after which the session is invalidated, in seconds.

  Specified by:
    `setMaxInactiveInterval` in interface `SessionManager`
  Overrides:
    `setMaxInactiveInterval` in class `AbstractSessionManager`
  Parameters:
    `seconds` - the max inactivity period, in seconds.
  See Also:
    `SessionManager.getMaxInactiveInterval()`

### setSavePeriod

    public void setSavePeriod(int seconds)

  Parameters:
    `seconds` - the period is seconds at which sessions are periodically saved to disk

### getSavePeriod

    public int getSavePeriod()

  Returns:
    the period in seconds at which sessions are periodically saved to disk

### setScavengePeriod

    public void setScavengePeriod(int seconds)

  Parameters:
    `seconds` - the period in seconds at which a check is made for sessions to be invalidated.

### scavenge

    protected void scavenge()

  Find sessions that have timed out and invalidate them. This runs in the SessionScavenger thread.

### addSession

    protected void addSession(AbstractSessionManager.Session session)

  Specified by:
    `addSession` in class `AbstractSessionManager`

### getSession

    public AbstractSessionManager.Session getSession(java.lang.String idInCluster)

  Description copied from class: `AbstractSessionManager`
  Get a known existing session

  Specified by:
    `getSession` in class `AbstractSessionManager`
  Parameters:
    `idInCluster` - The session ID in the cluster, stripped of any worker name.
  Returns:
    A Session or null if none exists.

### invalidateSessions

    protected void invalidateSessions()

  Specified by:
    `invalidateSessions` in class `AbstractSessionManager`

### newSession

    protected AbstractSessionManager.Session newSession(HttpServletRequest request)

  Description copied from class: `AbstractSessionManager`
  Create a new session instance

  Specified by:
    `newSession` in class `AbstractSessionManager`
  Returns:
    the new session

### newSession

    protected AbstractSessionManager.Session newSession(long created,
                                                        long accessed,
                                                        java.lang.String clusterId)

### removeSession

    protected boolean removeSession(java.lang.String clusterId)

  Specified by:
    `removeSession` in class `AbstractSessionManager`

### setStoreDirectory

    public void setStoreDirectory(java.io.File dir)

### getStoreDirectory

    public java.io.File getStoreDirectory()

### setLazyLoad

    public void setLazyLoad(boolean lazyLoad)

### isLazyLoad

    public boolean isLazyLoad()

### restoreSessions

    public void restoreSessions()
                         throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### saveSessions

    public void saveSessions()
                      throws java.lang.Exception

  Throws:
    `java.lang.Exception`

### restoreSession

    public HashSessionManager.HashedSession restoreSession(java.io.InputStream is,
                                                           HashSessionManager.HashedSession session)
                                                    throws java.lang.Exception

  Throws:
    `java.lang.Exception`

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 1995-2010 Mort Bay Consulting. All Rights Reserved.