org.mortbay.jetty.servlet
Class AbstractSessionManager
java.lang.Object
org.mortbay.component.AbstractLifeCycle
org.mortbay.jetty.servlet.AbstractSessionManager
- All Implemented Interfaces:
- LifeCycle, Serializable, SessionManager
- Direct Known Subclasses:
- HashSessionManager
- public abstract class AbstractSessionManager
- extends AbstractLifeCycle
- implements SessionManager
An Abstract implementation of SessionManager.
The partial implementation of SessionManager interface provides
the majority of the handling required to implement a
SessionManager. Concrete implementations of SessionManager based
on AbstractSessionManager need only implement the newSession method
to return a specialized version of the Session inner class that
provides an attribute Map.
If the property
org.mortbay.jetty.servlet.AbstractSessionManager.23Notifications is set to
true, the 2.3 servlet spec notification style will be used.
- Author:
- Greg Wilkins (gregw)
- See Also:
- Serialized Form
Fields inherited from interface org.mortbay.jetty.SessionManager |
__DefaultMaxAge, __DefaultSessionCookie, __DefaultSessionDomain, __DefaultSessionURL, __MaxAgeProperty, __MaxAgeSystemProperty, __SessionCookieProperty, __SessionCookieSystemProperty, __SessionDomainProperty, __SessionPathProperty, __SessionURLProperty, __SessionURLSystemProperty |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
__distantFuture
public static final int __distantFuture
- See Also:
- Constant Field Values
_httpOnly
protected boolean _httpOnly
_maxSessions
protected int _maxSessions
_minSessions
protected int _minSessions
_secureCookies
protected boolean _secureCookies
_sessionAttributeListeners
protected Object _sessionAttributeListeners
_sessionListeners
protected Object _sessionListeners
_sessions
protected Map _sessions
_loader
protected ClassLoader _loader
_context
protected ContextHandler.Context _context
_sessionCookie
protected String _sessionCookie
_sessionURL
protected String _sessionURL
_sessionURLPrefix
protected String _sessionURLPrefix
_sessionDomain
protected String _sessionDomain
_sessionPath
protected String _sessionPath
_maxSessionCookieAge
protected int _maxSessionCookieAge
_maxAgeSet
protected boolean _maxAgeSet
AbstractSessionManager
public AbstractSessionManager()
setSessionCookie
public void setSessionCookie(String cookieName)
- Specified by:
setSessionCookie
in interface SessionManager
getSessionCookie
public String getSessionCookie()
- Specified by:
getSessionCookie
in interface SessionManager
setSessionURL
public void setSessionURL(String url)
- Specified by:
setSessionURL
in interface SessionManager
getSessionURL
public String getSessionURL()
- Specified by:
getSessionURL
in interface SessionManager
getSessionURLPrefix
public String getSessionURLPrefix()
- Specified by:
getSessionURLPrefix
in interface SessionManager
setSessionDomain
public void setSessionDomain(String domain)
- Specified by:
setSessionDomain
in interface SessionManager
getSessionDomain
public String getSessionDomain()
- Specified by:
getSessionDomain
in interface SessionManager
setSessionPath
public void setSessionPath(String path)
- Specified by:
setSessionPath
in interface SessionManager
getSessionPath
public String getSessionPath()
- Specified by:
getSessionPath
in interface SessionManager
setMaxSessionCookieAge
public void setMaxSessionCookieAge(int maxCookieAge)
- Specified by:
setMaxSessionCookieAge
in interface SessionManager
getMaxCookieAge
public int getMaxCookieAge()
- Specified by:
getMaxCookieAge
in interface SessionManager
clearEventListeners
public void clearEventListeners()
- Specified by:
clearEventListeners
in interface SessionManager
addEventListener
public void addEventListener(EventListener listener)
- Description copied from interface:
SessionManager
- Add an event listener.
- Specified by:
addEventListener
in interface SessionManager
- Parameters:
listener
- An Event Listener. Individual SessionManagers
implemetations may accept arbitrary listener types, but they
are expected to at least handle
HttpSessionActivationListener,
HttpSessionAttributeListener,
HttpSessionBindingListener,
HttpSessionListener
getMetaManager
public SessionIdManager getMetaManager()
- Specified by:
getMetaManager
in interface SessionManager
- Returns:
- Returns the metaManager used for cross context session management
setMetaManager
public void setMetaManager(SessionIdManager metaManager)
- Specified by:
setMetaManager
in interface SessionManager
- Parameters:
metaManager
- The metaManager used for cross context session management.
getHttpOnly
public boolean getHttpOnly()
- Specified by:
getHttpOnly
in interface SessionManager
- Returns:
- Returns the httpOnly.
getHttpSession
public HttpSession getHttpSession(String id)
- Specified by:
getHttpSession
in interface SessionManager
getMaxInactiveInterval
public int getMaxInactiveInterval()
- Specified by:
getMaxInactiveInterval
in interface SessionManager
- Returns:
- seconds
getMaxSessions
public int getMaxSessions()
getMinSessions
public int getMinSessions()
getScavengePeriod
public int getScavengePeriod()
- Returns:
- seconds
getSecureCookies
public boolean getSecureCookies()
- Specified by:
getSecureCookies
in interface SessionManager
- Returns:
- Returns the secureCookies.
getSessionCookie
public Cookie getSessionCookie(HttpSession session,
String contextPath,
boolean requestIsSecure)
- Description copied from interface:
SessionManager
- Get a Cookie for a session.
- Specified by:
getSessionCookie
in interface SessionManager
- Parameters:
session
- The session to which the cookie should refer.contextPath
- The context to which the cookie should be linked. The client will only send the cookie value
when requesting resources under this path.requestIsSecure
- Whether the client is accessing the server over a secure protocol (i.e. HTTPS).
- Returns:
- If this
SessionManager
uses cookies, then this method will return a new
cookie object
that should be set on the client in order to link future HTTP requests
with the session
. If cookies are not in use, this method returns null
.
getSessionMap
public Map getSessionMap()
getSessions
public int getSessions()
isUsingCookies
public boolean isUsingCookies()
- Returns:
- Returns the usingCookies.
newHttpSession
public HttpSession newHttpSession(HttpServletRequest request)
- Specified by:
newHttpSession
in interface SessionManager
newSession
protected abstract AbstractSessionManager.Session newSession(HttpServletRequest request)
removeEventListener
public void removeEventListener(EventListener listener)
- Specified by:
removeEventListener
in interface SessionManager
resetStats
public void resetStats()
setHttpOnly
public void setHttpOnly(boolean httpOnly)
- Parameters:
httpOnly
- The httpOnly to set.
setMaxInactiveInterval
public void setMaxInactiveInterval(int seconds)
- Specified by:
setMaxInactiveInterval
in interface SessionManager
- Parameters:
seconds
-
setScavengePeriod
public void setScavengePeriod(int seconds)
- Parameters:
seconds
-
setSecureCookies
public void setSecureCookies(boolean secureCookies)
- Parameters:
secureCookies
- The secureCookies to set.
setUsingCookies
public void setUsingCookies(boolean usingCookies)
- Parameters:
usingCookies
- The usingCookies to set.
doStart
public void doStart()
throws Exception
- Overrides:
doStart
in class AbstractLifeCycle
- Throws:
Exception
doStop
public void doStop()
throws Exception
- Overrides:
doStop
in class AbstractLifeCycle
- Throws:
Exception
access
public void access(HttpSession session)
- Description copied from interface:
SessionManager
- Called by the
SessionHandler
when a session is access by a request
- Specified by:
access
in interface SessionManager
complete
public void complete(HttpSession session)
- Description copied from interface:
SessionManager
- Called by the
SessionHandler
when a reqeuest is not longer
handling a session. Not this includes new sessions, so there may not
be a matching call to SessionManager.access(HttpSession)
.
- Specified by:
complete
in interface SessionManager
isValid
public boolean isValid(HttpSession session)
- Specified by:
isValid
in interface SessionManager
getSessionHandler
public SessionHandler getSessionHandler()
- Returns:
- Returns the sessionHandler.
setSessionHandler
public void setSessionHandler(SessionHandler sessionHandler)
- Specified by:
setSessionHandler
in interface SessionManager
- Parameters:
sessionHandler
- The sessionHandler to set.