Package org.eclipse.jetty.server.session
Class DefaultSessionIdManager
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.server.session.DefaultSessionIdManager
- All Implemented Interfaces:
SessionIdManager
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
@ManagedObject
@Deprecated(since="2021-05-27")
public class DefaultSessionIdManager
extends ContainerLifeCycle
implements SessionIdManager
Deprecated.
The Eclipse Jetty and Apache Felix Http Jetty packages are no longer supported.
DefaultSessionIdManager
Manages session ids to ensure each session id within a context is unique, and that
session ids can be shared across contexts (but not session contents).
There is only 1 session id manager per Server instance.
Runs a HouseKeeper thread to periodically check for expired Sessions.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.Listener
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainer
Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener
-
Field Summary
Fields -
Constructor Summary
ConstructorsConstructorDescriptionDefaultSessionIdManager
(Server server) Deprecated.DefaultSessionIdManager
(Server server, Random random) Deprecated. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Deprecated.Remove an id from use by telling all contexts to remove a session with this id.getExtendedId
(String clusterId, HttpServletRequest request) Deprecated.Get the session ID with any worker ID.Deprecated.Get the session ID without any worker ID.Deprecated.long
Deprecated.Deprecated.Deprecated.Get SessionHandler for every context.Deprecated.Deprecated.Get the workname.void
Deprecated.Set up a random number generator for the sessionids.void
invalidateAll
(String id) Deprecated.Invalidate all sessions on all contexts that share the same id.boolean
Deprecated.newSessionId
(long seedTerm) Deprecated.newSessionId
(HttpServletRequest request, long created) Deprecated.Create a new session id if necessary.renewSessionId
(String oldClusterId, String oldNodeId, HttpServletRequest request) Deprecated.Generate a new id for a session and update across all SessionManagers.void
Deprecated.void
setReseed
(long reseed) Deprecated.Set the reseed probability.void
Deprecated.void
setSessionHouseKeeper
(HouseKeeper houseKeeper) Deprecated.void
setWorkerName
(String workerName) Deprecated.Set the workername.toString()
Deprecated.Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpObject, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, unmanage, updateBean, updateBean, updateBeans
Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpable
Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop
-
Field Details
-
__NEW_SESSION_ID
Deprecated.- See Also:
-
-
Constructor Details
-
DefaultSessionIdManager
Deprecated.- Parameters:
server
- the server associated with the id manager
-
DefaultSessionIdManager
Deprecated.- Parameters:
server
- the server associated with the id managerrandom
- a random number generator to use for ids
-
-
Method Details
-
setServer
Deprecated.- Parameters:
server
- the server associated with this id manager
-
getServer
Deprecated.- Returns:
- the server associated with this id manager
-
setSessionHouseKeeper
Deprecated.- Specified by:
setSessionHouseKeeper
in interfaceSessionIdManager
- Parameters:
houseKeeper
- the housekeeper
-
getSessionHouseKeeper
Deprecated.- Specified by:
getSessionHouseKeeper
in interfaceSessionIdManager
- Returns:
- the housekeeper
-
getWorkerName
Deprecated.Get the workname. If set, the workername is dot appended to the session ID and can be used to assist session affinity in a load balancer.- Specified by:
getWorkerName
in interfaceSessionIdManager
- Returns:
- name or null
-
setWorkerName
Deprecated.Set the workername. If set, the workername is dot appended to the session ID and can be used to assist session affinity in a load balancer. A worker name starting with $ is used as a request attribute name to lookup the worker name that can be dynamically set by a request Customizer.- Parameters:
workerName
- the name of the worker, if null it is coerced to empty string
-
getRandom
Deprecated.- Returns:
- the random number generator
-
setRandom
Deprecated.- Parameters:
random
- a random number generator for generating ids
-
getReseed
public long getReseed()Deprecated.- Returns:
- the reseed probability
-
setReseed
public void setReseed(long reseed) Deprecated.Set the reseed probability.- Parameters:
reseed
- If non zero then when a random long modulo the reseed value == 1, theSecureRandom
will be reseeded.
-
newSessionId
Deprecated.Create a new session id if necessary.- Specified by:
newSessionId
in interfaceSessionIdManager
- Parameters:
request
- the request with the sesioncreated
- the timestamp for when the session was created- Returns:
- the new session id
- See Also:
-
newSessionId
Deprecated.- Parameters:
seedTerm
- the seed for RNG- Returns:
- a new unique session id
-
isIdInUse
Deprecated.- Specified by:
isIdInUse
in interfaceSessionIdManager
- Parameters:
id
- The plain session ID (ie no workername extension)- Returns:
- True if the session ID is in use by at least one context.
- See Also:
-
initRandom
public void initRandom()Deprecated.Set up a random number generator for the sessionids. By preference, use a SecureRandom but allow to be injected. -
getExtendedId
Deprecated.Get the session ID with any worker ID.- Specified by:
getExtendedId
in interfaceSessionIdManager
- Parameters:
clusterId
- the cluster idrequest
- the request- Returns:
- sessionId plus any worker ID.
-
getId
Deprecated.Get the session ID without any worker ID.- Specified by:
getId
in interfaceSessionIdManager
- Parameters:
extendedId
- the session id with the worker extension- Returns:
- sessionId without any worker ID.
-
expireAll
Deprecated.Remove an id from use by telling all contexts to remove a session with this id.- Specified by:
expireAll
in interfaceSessionIdManager
- Parameters:
id
- The session ID without any cluster node extension- See Also:
-
invalidateAll
Deprecated.Description copied from interface:SessionIdManager
Invalidate all sessions on all contexts that share the same id.- Specified by:
invalidateAll
in interfaceSessionIdManager
- Parameters:
id
- the session id
-
renewSessionId
Deprecated.Generate a new id for a session and update across all SessionManagers.- Specified by:
renewSessionId
in interfaceSessionIdManager
- Parameters:
oldClusterId
- the old plain session idoldNodeId
- the old fully qualified idrequest
- the request containing the session- Returns:
- the new session id
- See Also:
-
getSessionHandlers
Deprecated.Get SessionHandler for every context.- Specified by:
getSessionHandlers
in interfaceSessionIdManager
- Returns:
- all SessionHandlers that are running
-
toString
Deprecated.- Overrides:
toString
in classAbstractLifeCycle
- See Also:
-