Package org.eclipse.jetty.server.session
Class Session
- java.lang.Object
-
- org.eclipse.jetty.server.session.Session
-
- All Implemented Interfaces:
HttpSession,SessionHandler.SessionIf
public class Session extends java.lang.Object implements SessionHandler.SessionIf
Session A heavy-weight Session object representing an HttpSession. Session objects relating to a context are kept in aSessionCache. The purpose of the SessionCache is to keep the working set of Session objects in memory so that they may be accessed quickly, and facilitate the sharing of a Session object amongst multiple simultaneous requests referring to the same session id. TheSessionHandlercoordinates the lifecycle of Session objects with the help of the SessionCache.- See Also:
SessionHandler,SessionIdManager
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classSession.IdStateclassSession.SessionInactivityTimerSessionInactivityTimer Each Session has a timer associated with it that fires whenever it has been idle (ie not accessed by a request) for a configurable amount of time, or the Session expires.static classSession.StateState Validity states of a session
-
Field Summary
Fields Modifier and Type Field Description static java.lang.StringSESSION_CREATED_SECURE
-
Constructor Summary
Constructors Constructor Description Session(SessionHandler handler, HttpServletRequest request, SessionData data)Create a new sessionSession(SessionHandler handler, SessionData data)Re-inflate an existing session from some eg persistent store.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidbindValue(java.lang.String name, java.lang.Object value)Bind value if value implementsHttpSessionBindingListener(callsHttpSessionBindingListener.valueBound(HttpSessionBindingEvent))longcalculateInactivityTimeout(long now)Calculate what the session timer setting should be based on: the time remaining before the session expires and any idle eviction time configured.voiddidActivate()Call the activation listeners.java.lang.ObjectgetAttribute(java.lang.String name)java.util.Enumeration<java.lang.String>getAttributeNames()intgetAttributes()java.lang.StringgetContextPath()longgetCookieSetTime()longgetCreationTime()java.lang.StringgetExtendedId()java.lang.StringgetId()longgetLastAccessedTime()intgetMaxInactiveInterval()java.util.Set<java.lang.String>getNames()longgetRequests()Returns the current number of requests that are active in the Session.ServletContextgetServletContext()SessiongetSession()HttpSessionContextgetSessionContext()Deprecated.SessionHandlergetSessionHandler()java.lang.ObjectgetValue(java.lang.String name)Deprecated.java.lang.String[]getValueNames()Deprecated.As of Version 2.2, this method is replaced bygetAttributeNames()java.lang.StringgetVHost()voidinvalidate()Called by users to invalidate a session, or called by the access method as a request enters the session if the session has expired, or called by manager as a result of scavenger expiring sessionbooleanisChanging()booleanisIdChanged()booleanisInvalid()booleanisNew()booleanisResident()booleanisValid()Locker.Locklock()Grab the lock on the sessionvoidputValue(java.lang.String name, java.lang.Object value)Deprecated.voidremoveAttribute(java.lang.String name)voidremoveValue(java.lang.String name)Deprecated.voidrenewId(HttpServletRequest request)Force a change to the id of a session.voidsetAttribute(java.lang.String name, java.lang.Object value)voidsetExtendedId(java.lang.String extendedId)voidsetIdChanged(boolean changed)voidsetMaxInactiveInterval(int secs)voidsetResident(boolean resident)java.lang.StringtoString()voidunbindValue(java.lang.String name, java.lang.Object value)Unbind value if value implementsHttpSessionBindingListener(callsHttpSessionBindingListener.valueUnbound(HttpSessionBindingEvent))voidupdateInactivityTimer()Deprecated.voidwillPassivate()Call the passivation listeners.
-
-
-
Field Detail
-
SESSION_CREATED_SECURE
public static final java.lang.String SESSION_CREATED_SECURE
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Session
public Session(SessionHandler handler, HttpServletRequest request, SessionData data)
Create a new session- Parameters:
handler- the SessionHandler that manages this sessionrequest- the request the session should be based ondata- the session data
-
Session
public Session(SessionHandler handler, SessionData data)
Re-inflate an existing session from some eg persistent store.- Parameters:
handler- the SessionHandler managing the sessiondata- the session data
-
-
Method Detail
-
getRequests
public long getRequests()
Returns the current number of requests that are active in the Session.- Returns:
- the number of active requests for this session
-
setExtendedId
public void setExtendedId(java.lang.String extendedId)
-
unbindValue
public void unbindValue(java.lang.String name, java.lang.Object value)Unbind value if value implementsHttpSessionBindingListener(callsHttpSessionBindingListener.valueUnbound(HttpSessionBindingEvent))- Parameters:
name- the name with which the object is bound or unboundvalue- the bound value
-
bindValue
public void bindValue(java.lang.String name, java.lang.Object value)Bind value if value implementsHttpSessionBindingListener(callsHttpSessionBindingListener.valueBound(HttpSessionBindingEvent))- Parameters:
name- the name with which the object is bound or unboundvalue- the bound value
-
didActivate
public void didActivate()
Call the activation listeners. This must be called holding the lock.
-
willPassivate
public void willPassivate()
Call the passivation listeners. This must be called holding the lock
-
isValid
public boolean isValid()
-
isInvalid
public boolean isInvalid()
-
isChanging
public boolean isChanging()
-
getCookieSetTime
public long getCookieSetTime()
-
getCreationTime
public long getCreationTime() throws java.lang.IllegalStateException- Specified by:
getCreationTimein interfaceHttpSession- Throws:
java.lang.IllegalStateException
-
getId
public java.lang.String getId()
- Specified by:
getIdin interfaceHttpSession- See Also:
HttpSession.getId()
-
getExtendedId
public java.lang.String getExtendedId()
-
getContextPath
public java.lang.String getContextPath()
-
getVHost
public java.lang.String getVHost()
-
getLastAccessedTime
public long getLastAccessedTime()
- Specified by:
getLastAccessedTimein interfaceHttpSession- See Also:
HttpSession.getLastAccessedTime()
-
getServletContext
public ServletContext getServletContext()
- Specified by:
getServletContextin interfaceHttpSession- See Also:
HttpSession.getServletContext()
-
setMaxInactiveInterval
public void setMaxInactiveInterval(int secs)
- Specified by:
setMaxInactiveIntervalin interfaceHttpSession- See Also:
HttpSession.setMaxInactiveInterval(int)
-
updateInactivityTimer
@Deprecated public void updateInactivityTimer()
Deprecated.
-
calculateInactivityTimeout
public long calculateInactivityTimeout(long now)
Calculate what the session timer setting should be based on: the time remaining before the session expires and any idle eviction time configured. The timer value will be the lesser of the above.- Parameters:
now- the time at which to calculate remaining expiry- Returns:
- the time remaining before expiry or inactivity timeout
-
getMaxInactiveInterval
public int getMaxInactiveInterval()
- Specified by:
getMaxInactiveIntervalin interfaceHttpSession- See Also:
HttpSession.getMaxInactiveInterval()
-
getSessionContext
@Deprecated public HttpSessionContext getSessionContext()
Deprecated.- Specified by:
getSessionContextin interfaceHttpSession- See Also:
HttpSession.getSessionContext()
-
getSessionHandler
public SessionHandler getSessionHandler()
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
- Specified by:
getAttributein interfaceHttpSession- See Also:
HttpSession.getAttribute(java.lang.String)
-
getValue
@Deprecated public java.lang.Object getValue(java.lang.String name)
Deprecated.- Specified by:
getValuein interfaceHttpSession- See Also:
HttpSession.getValue(java.lang.String)
-
getAttributeNames
public java.util.Enumeration<java.lang.String> getAttributeNames()
- Specified by:
getAttributeNamesin interfaceHttpSession- See Also:
HttpSession.getAttributeNames()
-
getAttributes
public int getAttributes()
-
getNames
public java.util.Set<java.lang.String> getNames()
-
getValueNames
@Deprecated public java.lang.String[] getValueNames() throws java.lang.IllegalStateExceptionDeprecated.As of Version 2.2, this method is replaced bygetAttributeNames()- Specified by:
getValueNamesin interfaceHttpSession- Throws:
java.lang.IllegalStateException
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value)- Specified by:
setAttributein interfaceHttpSession- See Also:
HttpSession.setAttribute(java.lang.String, java.lang.Object)
-
putValue
@Deprecated public void putValue(java.lang.String name, java.lang.Object value)Deprecated.- Specified by:
putValuein interfaceHttpSession- See Also:
HttpSession.putValue(java.lang.String, java.lang.Object)
-
removeAttribute
public void removeAttribute(java.lang.String name)
- Specified by:
removeAttributein interfaceHttpSession- See Also:
HttpSession.removeAttribute(java.lang.String)
-
removeValue
@Deprecated public void removeValue(java.lang.String name)
Deprecated.- Specified by:
removeValuein interfaceHttpSession- See Also:
HttpSession.removeValue(java.lang.String)
-
renewId
public void renewId(HttpServletRequest request)
Force a change to the id of a session.- Parameters:
request- the Request associated with the call to change id.
-
invalidate
public void invalidate()
Called by users to invalidate a session, or called by the access method as a request enters the session if the session has expired, or called by manager as a result of scavenger expiring session- Specified by:
invalidatein interfaceHttpSession- See Also:
HttpSession.invalidate()
-
lock
public Locker.Lock lock()
Grab the lock on the session- Returns:
- the lock
-
isNew
public boolean isNew() throws java.lang.IllegalStateException- Specified by:
isNewin interfaceHttpSession- Throws:
java.lang.IllegalStateException
-
setIdChanged
public void setIdChanged(boolean changed)
-
isIdChanged
public boolean isIdChanged()
-
getSession
public Session getSession()
- Specified by:
getSessionin interfaceSessionHandler.SessionIf
-
setResident
public void setResident(boolean resident)
-
isResident
public boolean isResident()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-