SessionIdManager, org.eclipse.jetty.util.component.LifeCycle@ManagedObject public class DefaultSessionIdManager extends org.eclipse.jetty.util.component.ContainerLifeCycle implements SessionIdManager
HouseKeeperorg.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener| Modifier and Type | Field | Description |
|---|---|---|
protected HouseKeeper |
_houseKeeper |
|
protected boolean |
_ownHouseKeeper |
|
protected java.util.Random |
_random |
|
protected long |
_reseed |
|
protected Server |
_server |
|
protected boolean |
_weakRandom |
|
protected java.lang.String |
_workerAttr |
|
protected java.lang.String |
_workerName |
|
protected static java.util.concurrent.atomic.AtomicLong |
COUNTER |
| Constructor | Description |
|---|---|
DefaultSessionIdManager(Server server) |
|
DefaultSessionIdManager(Server server,
java.util.Random random) |
| Modifier and Type | Method | Description |
|---|---|---|
protected void |
doStart() |
|
protected void |
doStop() |
|
void |
expireAll(java.lang.String id) |
Remove an id from use by telling all contexts to remove a session with this id.
|
java.lang.String |
getExtendedId(java.lang.String clusterId,
HttpServletRequest request) |
Get the session ID with any worker ID.
|
java.lang.String |
getId(java.lang.String extendedId) |
Get the session ID without any worker ID.
|
java.util.Random |
getRandom() |
|
long |
getReseed() |
|
Server |
getServer() |
|
java.util.Set<SessionHandler> |
getSessionHandlers() |
Get SessionManager for every context.
|
HouseKeeper |
getSessionHouseKeeper() |
|
java.lang.String |
getWorkerName() |
Get the workname.
|
void |
initRandom() |
Set up a random number generator for the sessionids.
|
void |
invalidateAll(java.lang.String id) |
Invalidate all sessions on all contexts that share the same id.
|
boolean |
isIdInUse(java.lang.String id) |
|
java.lang.String |
newSessionId(long seedTerm) |
|
java.lang.String |
newSessionId(HttpServletRequest request,
long created) |
Create a new session id if necessary.
|
java.lang.String |
renewSessionId(java.lang.String oldClusterId,
java.lang.String oldNodeId,
HttpServletRequest request) |
Generate a new id for a session and update across
all SessionManagers.
|
void |
setRandom(java.util.Random random) |
|
void |
setReseed(long reseed) |
Set the reseed probability.
|
void |
setServer(Server server) |
|
void |
setSessionHouseKeeper(HouseKeeper houseKeeper) |
|
void |
setWorkerName(java.lang.String workerName) |
Set the workername.
|
java.lang.String |
toString() |
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopaddBean, addBean, addBean, addEventListener, addManaged, contains, destroy, 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, updateBeansprotected static final java.util.concurrent.atomic.AtomicLong COUNTER
protected java.util.Random _random
protected boolean _weakRandom
protected java.lang.String _workerName
protected java.lang.String _workerAttr
protected long _reseed
protected Server _server
protected HouseKeeper _houseKeeper
protected boolean _ownHouseKeeper
public DefaultSessionIdManager(Server server)
server - the server associated with the id managerpublic DefaultSessionIdManager(Server server, java.util.Random random)
server - the server associated with the id managerrandom - a random number generator to use for idspublic void setServer(Server server)
server - the server associated with this id managerpublic Server getServer()
public void setSessionHouseKeeper(HouseKeeper houseKeeper)
setSessionHouseKeeper in interface SessionIdManagerhouseKeeper - the housekeeperpublic HouseKeeper getSessionHouseKeeper()
getSessionHouseKeeper in interface SessionIdManager@ManagedAttribute(value="unique name for this node",
readonly=true)
public java.lang.String getWorkerName()
getWorkerName in interface SessionIdManagerpublic void setWorkerName(java.lang.String workerName)
workerName - the name of the worker, if null it is coerced to empty stringpublic java.util.Random getRandom()
public void setRandom(java.util.Random random)
random - a random number generator for generating idspublic long getReseed()
public void setReseed(long reseed)
reseed - If non zero then when a random long modulo the reseed value == 1, the SecureRandom will be reseeded.public java.lang.String newSessionId(HttpServletRequest request, long created)
newSessionId in interface SessionIdManagerrequest - the request with the sesioncreated - the timestamp for when the session was createdSessionIdManager.newSessionId(javax.servlet.http.HttpServletRequest, long)public java.lang.String newSessionId(long seedTerm)
seedTerm - the seed for RNGpublic boolean isIdInUse(java.lang.String id)
isIdInUse in interface SessionIdManagerid - The plain session ID (ie no workername extension)SessionIdManager.isIdInUse(java.lang.String)protected void doStart()
throws java.lang.Exception
doStart in class org.eclipse.jetty.util.component.ContainerLifeCyclejava.lang.ExceptionAbstractLifeCycle.doStart()protected void doStop()
throws java.lang.Exception
doStop in class org.eclipse.jetty.util.component.ContainerLifeCyclejava.lang.ExceptionAbstractLifeCycle.doStop()public void initRandom()
public java.lang.String getExtendedId(java.lang.String clusterId,
HttpServletRequest request)
getExtendedId in interface SessionIdManagerclusterId - the cluster idrequest - the requestpublic java.lang.String getId(java.lang.String extendedId)
getId in interface SessionIdManagerextendedId - the session id with the worker extensionpublic void expireAll(java.lang.String id)
expireAll in interface SessionIdManagerid - The session ID without any cluster node extensionSessionIdManager.expireAll(java.lang.String)public void invalidateAll(java.lang.String id)
SessionIdManagerinvalidateAll in interface SessionIdManagerid - the session idpublic java.lang.String renewSessionId(java.lang.String oldClusterId,
java.lang.String oldNodeId,
HttpServletRequest request)
renewSessionId in interface SessionIdManageroldClusterId - the old plain session idoldNodeId - the old fully qualified idrequest - the request containing the sessionSessionIdManager.renewSessionId(java.lang.String, java.lang.String, javax.servlet.http.HttpServletRequest)public java.util.Set<SessionHandler> getSessionHandlers()
getSessionHandlers in interface SessionIdManagerpublic java.lang.String toString()
toString in class org.eclipse.jetty.util.component.AbstractLifeCycleObject.toString()Copyright © 1995–2018 Webtide. All rights reserved.