Package org.eclipse.jetty.server.session
Class JDBCSessionDataStore
java.lang.Object
org.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.util.component.ContainerLifeCycle
org.eclipse.jetty.server.session.AbstractSessionDataStore
org.eclipse.jetty.server.session.JDBCSessionDataStore
- All Implemented Interfaces:
SessionDataMap
,SessionDataStore
,Container
,Destroyable
,Dumpable
,Dumpable.DumpableContainer
,LifeCycle
JDBCSessionDataStore
Session data stored in database
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic class
SessionTableSchemaNested 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
FieldsModifier and TypeFieldDescriptionprotected DatabaseAdaptor
protected boolean
protected boolean
protected JDBCSessionDataStore.SessionTableSchema
private static final ByteArrayInputStream
(package private) static final Logger
static final String
Used for Oracle and other databases where "" is treated as NULLFields inherited from class org.eclipse.jetty.server.session.AbstractSessionDataStore
_context, _gracePeriodSec, _lastExpiryCheckTime, _savePeriodSec
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Delete session datadoGetExpired
(Set<String> candidates) Implemented by subclasses to resolve which sessions this node should attempt to expire.protected void
doInsert
(String id, SessionData data) Load the session from persistent store.protected void
doStart()
Starts the managed lifecycle beans in the order they were added.protected void
doStop()
Stops the managed lifecycle beans in the reverse order they were added.void
doStore
(String id, SessionData data, long lastSaveTime) Store the session data persistently.protected void
doUpdate
(String id, SessionData data) boolean
Test if data exists for a given session id.void
boolean
True if this type of datastore will passivate session objectsvoid
setDatabaseAdaptor
(DatabaseAdaptor dbAdaptor) void
Methods inherited from class org.eclipse.jetty.server.session.AbstractSessionDataStore
checkStarted, getExpired, getGracePeriodSec, getSavePeriodSec, initialize, load, newSessionData, setGracePeriodSec, setSavePeriodSec, store, toString
Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle
addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dump, dump, dumpBeans, dumpObject, dumpObjects, dumpStdErr, dumpThis, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, setStopTimeout, start, stop, 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
clone, equals, finalize, 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
-
LOG
-
NULL_CONTEXT_PATH
Used for Oracle and other databases where "" is treated as NULL- See Also:
-
_initialized
protected boolean _initialized -
_dbAdaptor
-
_sessionTableSchema
-
_schemaProvided
protected boolean _schemaProvided -
EMPTY
-
-
Constructor Details
-
JDBCSessionDataStore
public JDBCSessionDataStore()
-
-
Method Details
-
doStart
Description copied from class:ContainerLifeCycle
Starts the managed lifecycle beans in the order they were added.- Overrides:
doStart
in classAbstractSessionDataStore
- Throws:
Exception
-
doStop
Description copied from class:ContainerLifeCycle
Stops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStop
in classContainerLifeCycle
- Throws:
Exception
-
initialize
- Throws:
Exception
-
doLoad
Description copied from class:AbstractSessionDataStore
Load the session from persistent store.- Specified by:
doLoad
in classAbstractSessionDataStore
- Parameters:
id
- the id of the session to load- Returns:
- the re-inflated session
- Throws:
Exception
- if unable to load the session
-
delete
Description copied from interface:SessionDataMap
Delete session data- Parameters:
id
- identity of session to delete- Returns:
- true if the session was deleted
- Throws:
Exception
- if unable to delete session data
-
doStore
Description copied from class:AbstractSessionDataStore
Store the session data persistently.- Specified by:
doStore
in classAbstractSessionDataStore
- Parameters:
id
- identity of session to storedata
- info of the sessionlastSaveTime
- time of previous save or 0 if never saved- Throws:
Exception
- if unable to store data
-
doInsert
- Throws:
Exception
-
doUpdate
- Throws:
Exception
-
doGetExpired
Description copied from class:AbstractSessionDataStore
Implemented by subclasses to resolve which sessions this node should attempt to expire.- Specified by:
doGetExpired
in classAbstractSessionDataStore
- Parameters:
candidates
- the ids of sessions the SessionDataStore thinks has expired- Returns:
- the reconciled set of session ids that this node should attempt to expire
-
setDatabaseAdaptor
-
setSessionTableSchema
-
isPassivating
@ManagedAttribute(value="does this store serialize sessions", readonly=true) public boolean isPassivating()Description copied from interface:SessionDataStore
True if this type of datastore will passivate session objects- Returns:
- true if this store can passivate sessions, false otherwise
-
exists
Description copied from interface:SessionDataStore
Test if data exists for a given session id.- Parameters:
id
- Identity of session whose existence should be checked- Returns:
- true if valid, non-expired session exists
- Throws:
Exception
- if problem checking existence with persistence layer
-