SessionDataMap, SessionDataStore, org.eclipse.jetty.util.component.LifeCycleFileSessionDataStore, JDBCSessionDataStore, NullSessionDataStore@ManagedObject public abstract class AbstractSessionDataStore extends org.eclipse.jetty.util.component.ContainerLifeCycle implements SessionDataStore
org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener| Modifier and Type | Field | Description |
|---|---|---|
protected SessionContext |
_context |
|
protected int |
_gracePeriodSec |
|
protected long |
_lastExpiryCheckTime |
|
protected int |
_savePeriodSec |
| Constructor | Description |
|---|---|
AbstractSessionDataStore() |
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
checkStarted() |
|
abstract java.util.Set<java.lang.String> |
doGetExpired(java.util.Set<java.lang.String> candidates) |
Implemented by subclasses to resolve which sessions this node
should attempt to expire.
|
protected void |
doStart() |
|
abstract void |
doStore(java.lang.String id,
SessionData data,
long lastSaveTime) |
Store the session data persistently.
|
java.util.Set<java.lang.String> |
getExpired(java.util.Set<java.lang.String> candidates) |
Called periodically, this method should search the data store
for sessions that have been expired for a 'reasonable' amount
of time.
|
int |
getGracePeriodSec() |
|
int |
getSavePeriodSec() |
|
void |
initialize(SessionContext context) |
Initialize this data map for the
given context.
|
SessionData |
newSessionData(java.lang.String id,
long created,
long accessed,
long lastAccessed,
long maxInactiveMs) |
Create a new SessionData
|
void |
setGracePeriodSec(int sec) |
|
void |
setSavePeriodSec(int savePeriodSec) |
The minimum time in seconds between save operations.
|
void |
store(java.lang.String id,
SessionData data) |
Store the session data.
|
java.lang.String |
toString() |
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopaddBean, addBean, addBean, addEventListener, addManaged, contains, destroy, doStop, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isManaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, unmanage, updateBean, updateBean, updateBeansaddLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, start, stop, stopclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitdelete, loadexists, isPassivatingprotected SessionContext _context
protected int _gracePeriodSec
protected long _lastExpiryCheckTime
protected int _savePeriodSec
public abstract void doStore(java.lang.String id,
SessionData data,
long lastSaveTime)
throws java.lang.Exception
id - identity of session to storedata - info of the sessionlastSaveTime - time of previous save or 0 if never savedjava.lang.Exception - if unable to store datapublic abstract java.util.Set<java.lang.String> doGetExpired(java.util.Set<java.lang.String> candidates)
candidates - the ids of sessions the SessionDataStore thinks has expiredpublic void initialize(SessionContext context) throws java.lang.Exception
SessionDataMapinitialize in interface SessionDataMapcontext - context associatedjava.lang.Exception - if unable to initialize theSessionDataMap.initialize(org.eclipse.jetty.server.session.SessionContext)public void store(java.lang.String id,
SessionData data)
throws java.lang.Exception
SessionDataMapstore in interface SessionDataMapid - identity of session to storedata - info of session to storejava.lang.Exception - if unable to write session dataSessionDataMap.store(java.lang.String, org.eclipse.jetty.server.session.SessionData)public java.util.Set<java.lang.String> getExpired(java.util.Set<java.lang.String> candidates)
SessionDataStoregetExpired in interface SessionDataStorecandidates - if provided, these are keys of sessions that
the SessionDataStore thinks has expired and should be verified by the
SessionDataStoreSessionDataStore.getExpired(java.util.Set)public SessionData newSessionData(java.lang.String id, long created, long accessed, long lastAccessed, long maxInactiveMs)
SessionDataStorenewSessionData in interface SessionDataStoreid - the idcreated - the timestamp when createdaccessed - the timestamp when accessedlastAccessed - the timestamp when last accessedmaxInactiveMs - the max inactive time in millisecondsSessionDataStore.newSessionData(java.lang.String, long, long, long, long)protected void checkStarted()
throws java.lang.IllegalStateException
java.lang.IllegalStateExceptionprotected void doStart()
throws java.lang.Exception
doStart in class org.eclipse.jetty.util.component.ContainerLifeCyclejava.lang.Exception@ManagedAttribute(value="interval in secs to prevent too eager session scavenging",
readonly=true)
public int getGracePeriodSec()
public void setGracePeriodSec(int sec)
@ManagedAttribute(value="min secs between saves",
readonly=true)
public int getSavePeriodSec()
public void setSavePeriodSec(int savePeriodSec)
By default the value is 0, which means we save after the last request exists. A non zero value means that we will skip doing the save if the session isn't dirty if the elapsed time since the session was last saved does not exceed this value.
savePeriodSec - the savePeriodSec to setpublic java.lang.String toString()
toString in class org.eclipse.jetty.util.component.AbstractLifeCycleObject.toString()Copyright © 1995–2018 Webtide. All rights reserved.