HttpSession, SessionHandler.SessionIfAbstractSessionCache.PlaceHolderSessionpublic class Session extends java.lang.Object implements SessionHandler.SessionIf
SessionCache. 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.
The SessionHandler coordinates
the lifecycle of Session objects with the help of the SessionCache.SessionHandler,
SessionIdManager| Modifier and Type | Class | Description |
|---|---|---|
class |
Session.SessionInactivityTimer |
SessionInactivityTimer
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 class |
Session.State |
State
Validity states of a session
|
| Modifier and Type | Field | Description |
|---|---|---|
protected java.lang.String |
_extendedId |
|
protected SessionHandler |
_handler |
|
protected boolean |
_idChanged |
|
protected org.eclipse.jetty.util.thread.Locker |
_lock |
|
protected boolean |
_newSession |
|
protected long |
_requests |
|
protected boolean |
_resident |
|
protected SessionData |
_sessionData |
|
protected Session.SessionInactivityTimer |
_sessionInactivityTimer |
|
protected Session.State |
_state |
|
static java.lang.String |
SESSION_CREATED_SECURE |
| Constructor | Description |
|---|---|
Session(SessionHandler handler,
HttpServletRequest request,
SessionData data) |
Create a new session
|
Session(SessionHandler handler,
SessionData data) |
Re-inflate an existing session from some eg persistent store.
|
| Modifier and Type | Method | Description |
|---|---|---|
protected boolean |
access(long time) |
|
protected boolean |
beginInvalidate() |
|
void |
bindValue(java.lang.String name,
java.lang.Object value) |
Bind value if value implements
HttpSessionBindingListener (calls HttpSessionBindingListener.valueBound(HttpSessionBindingEvent)) |
protected void |
callSessionAttributeListeners(java.lang.String name,
java.lang.Object newValue,
java.lang.Object oldValue) |
Call binding and attribute listeners based on the new and old
values of the attribute.
|
protected void |
checkLocked() |
|
protected void |
checkValidForRead() |
Chech that the session data can be read.
|
protected void |
checkValidForWrite() |
Check that the session can be modified.
|
protected void |
complete() |
|
protected void |
cookieSet() |
|
void |
didActivate() |
Call the activation listeners.
|
protected void |
doInvalidate() |
Deprecated.
|
protected void |
finishInvalidate() |
Call HttpSessionAttributeListeners as part of invalidating
a Session.
|
java.lang.Object |
getAttribute(java.lang.String name) |
|
java.util.Enumeration<java.lang.String> |
getAttributeNames() |
|
int |
getAttributes() |
|
java.lang.String |
getContextPath() |
|
long |
getCookieSetTime() |
|
long |
getCreationTime() |
|
java.lang.String |
getExtendedId() |
|
java.lang.String |
getId() |
|
long |
getLastAccessedTime() |
|
int |
getMaxInactiveInterval() |
|
java.util.Set<java.lang.String> |
getNames() |
|
long |
getRequests() |
Returns the current number of requests that are active in the
Session.
|
ServletContext |
getServletContext() |
|
Session |
getSession() |
|
HttpSessionContext |
getSessionContext() |
Deprecated.
|
protected SessionData |
getSessionData() |
|
SessionHandler |
getSessionHandler() |
|
java.lang.Object |
getValue(java.lang.String name) |
Deprecated.
|
java.lang.String[] |
getValueNames() |
Deprecated.
As of Version 2.2, this method is replaced by
getAttributeNames() |
java.lang.String |
getVHost() |
|
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
|
protected boolean |
isExpiredAt(long time) |
Check to see if session has expired as at the time given.
|
boolean |
isIdChanged() |
|
protected boolean |
isIdleLongerThan(int sec) |
Check if the Session has been idle longer than a number of seconds.
|
boolean |
isNew() |
|
boolean |
isResident() |
|
boolean |
isValid() |
|
org.eclipse.jetty.util.thread.Locker.Lock |
lock() |
Grab the lock on the session
|
org.eclipse.jetty.util.thread.Locker.Lock |
lockIfNotHeld() |
Grab the lock on the session if it isn't locked already
|
void |
putValue(java.lang.String name,
java.lang.Object value) |
Deprecated.
|
void |
removeAttribute(java.lang.String name) |
|
void |
removeValue(java.lang.String name) |
Deprecated.
|
void |
renewId(HttpServletRequest request) |
Force a change to the id of a session.
|
void |
setAttribute(java.lang.String name,
java.lang.Object value) |
|
void |
setExtendedId(java.lang.String extendedId) |
|
void |
setIdChanged(boolean changed) |
|
void |
setMaxInactiveInterval(int secs) |
|
void |
setResident(boolean resident) |
|
void |
unbindValue(java.lang.String name,
java.lang.Object value) |
Unbind value if value implements
HttpSessionBindingListener (calls HttpSessionBindingListener.valueUnbound(HttpSessionBindingEvent)) |
void |
updateInactivityTimer() |
Set the inactivity timer to the smaller of the session maxInactivity
(ie session-timeout from web.xml), or the inactive eviction time.
|
void |
willPassivate() |
Call the passivation listeners.
|
public static final java.lang.String SESSION_CREATED_SECURE
protected final SessionData _sessionData
protected final SessionHandler _handler
protected java.lang.String _extendedId
protected long _requests
protected boolean _idChanged
protected boolean _newSession
protected Session.State _state
protected org.eclipse.jetty.util.thread.Locker _lock
protected boolean _resident
protected final Session.SessionInactivityTimer _sessionInactivityTimer
public Session(SessionHandler handler, HttpServletRequest request, SessionData data)
handler - the SessionHandler that manages this sessionrequest - the request the session should be based ondata - the session datapublic Session(SessionHandler handler, SessionData data)
handler - the SessionHandler managing the sessiondata - the session datapublic long getRequests()
public void setExtendedId(java.lang.String extendedId)
protected void cookieSet()
protected boolean access(long time)
protected void complete()
protected boolean isExpiredAt(long time)
time - the time since the epoch in msprotected boolean isIdleLongerThan(int sec)
sec - the number of secondsprotected void callSessionAttributeListeners(java.lang.String name,
java.lang.Object newValue,
java.lang.Object oldValue)
name - name of the attributenewValue - new value of the attributeoldValue - previous value of the attributejava.lang.IllegalStateException - if no session manager can be findpublic void unbindValue(java.lang.String name,
java.lang.Object value)
HttpSessionBindingListener (calls HttpSessionBindingListener.valueUnbound(HttpSessionBindingEvent))name - the name with which the object is bound or unboundvalue - the bound valuepublic void bindValue(java.lang.String name,
java.lang.Object value)
HttpSessionBindingListener (calls HttpSessionBindingListener.valueBound(HttpSessionBindingEvent))name - the name with which the object is bound or unboundvalue - the bound valuepublic void didActivate()
public void willPassivate()
public boolean isValid()
public long getCookieSetTime()
public long getCreationTime()
throws java.lang.IllegalStateException
getCreationTime in interface HttpSessionjava.lang.IllegalStateExceptionpublic java.lang.String getId()
getId in interface HttpSessionHttpSession.getId()public java.lang.String getExtendedId()
public java.lang.String getContextPath()
public java.lang.String getVHost()
public long getLastAccessedTime()
getLastAccessedTime in interface HttpSessionHttpSession.getLastAccessedTime()public ServletContext getServletContext()
getServletContext in interface HttpSessionHttpSession.getServletContext()public void setMaxInactiveInterval(int secs)
setMaxInactiveInterval in interface HttpSessionHttpSession.setMaxInactiveInterval(int)public void updateInactivityTimer()
public int getMaxInactiveInterval()
getMaxInactiveInterval in interface HttpSessionHttpSession.getMaxInactiveInterval()@Deprecated public HttpSessionContext getSessionContext()
getSessionContext in interface HttpSessionHttpSession.getSessionContext()public SessionHandler getSessionHandler()
protected void checkValidForWrite()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the session is invalidprotected void checkValidForRead()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if the session is invalidprotected void checkLocked()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionpublic java.lang.Object getAttribute(java.lang.String name)
getAttribute in interface HttpSessionHttpSession.getAttribute(java.lang.String)@Deprecated public java.lang.Object getValue(java.lang.String name)
getValue in interface HttpSessionHttpSession.getValue(java.lang.String)public java.util.Enumeration<java.lang.String> getAttributeNames()
getAttributeNames in interface HttpSessionHttpSession.getAttributeNames()public int getAttributes()
public java.util.Set<java.lang.String> getNames()
@Deprecated
public java.lang.String[] getValueNames()
throws java.lang.IllegalStateException
getAttributeNames()getValueNames in interface HttpSessionjava.lang.IllegalStateExceptionpublic void setAttribute(java.lang.String name,
java.lang.Object value)
setAttribute in interface HttpSessionHttpSession.setAttribute(java.lang.String, java.lang.Object)@Deprecated
public void putValue(java.lang.String name,
java.lang.Object value)
putValue in interface HttpSessionHttpSession.putValue(java.lang.String, java.lang.Object)public void removeAttribute(java.lang.String name)
removeAttribute in interface HttpSessionHttpSession.removeAttribute(java.lang.String)@Deprecated public void removeValue(java.lang.String name)
removeValue in interface HttpSessionHttpSession.removeValue(java.lang.String)public void renewId(HttpServletRequest request)
request - the Request associated with the call to change id.public void invalidate()
invalidate in interface HttpSessionHttpSession.invalidate()public org.eclipse.jetty.util.thread.Locker.Lock lock()
public org.eclipse.jetty.util.thread.Locker.Lock lockIfNotHeld()
protected boolean beginInvalidate()
@Deprecated
protected void doInvalidate()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if no session manager can be findprotected void finishInvalidate()
throws java.lang.IllegalStateException
java.lang.IllegalStateException - if no session manager can be findpublic boolean isNew()
throws java.lang.IllegalStateException
isNew in interface HttpSessionjava.lang.IllegalStateExceptionpublic void setIdChanged(boolean changed)
public boolean isIdChanged()
public Session getSession()
getSession in interface SessionHandler.SessionIfprotected SessionData getSessionData()
public void setResident(boolean resident)
public boolean isResident()
Copyright © 1995–2018 Webtide. All rights reserved.