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 classSessionTableSchemaNested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
AbstractLifeCycle.AbstractLifeCycleListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container
Container.InheritedListener, Container.ListenerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Dumpable
Dumpable.DumpableContainerNested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle
LifeCycle.Listener -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected DatabaseAdaptorprotected booleanprotected booleanprotected JDBCSessionDataStore.SessionTableSchemaprivate static final ByteArrayInputStream(package private) static final Loggerstatic final StringUsed 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 TypeMethodDescriptionbooleanDelete session datadoGetExpired(Set<String> candidates) Implemented by subclasses to resolve which sessions this node should attempt to expire.protected voiddoInsert(String id, SessionData data) Load the session from persistent store.protected voiddoStart()Starts the managed lifecycle beans in the order they were added.protected voiddoStop()Stops the managed lifecycle beans in the reverse order they were added.voiddoStore(String id, SessionData data, long lastSaveTime) Store the session data persistently.protected voiddoUpdate(String id, SessionData data) booleanTest if data exists for a given session id.voidbooleanTrue if this type of datastore will passivate session objectsvoidsetDatabaseAdaptor(DatabaseAdaptor dbAdaptor) voidMethods inherited from class org.eclipse.jetty.server.session.AbstractSessionDataStore
checkStarted, getExpired, getGracePeriodSec, getSavePeriodSec, initialize, load, newSessionData, setGracePeriodSec, setSavePeriodSec, store, toStringMethods 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, updateBeansMethods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle
addLifeCycleListener, getState, getState, getStopTimeout, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stopMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface org.eclipse.jetty.util.component.Dumpable.DumpableContainer
isDumpableMethods 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:ContainerLifeCycleStarts the managed lifecycle beans in the order they were added.- Overrides:
doStartin classAbstractSessionDataStore- Throws:
Exception
-
doStop
Description copied from class:ContainerLifeCycleStops the managed lifecycle beans in the reverse order they were added.- Overrides:
doStopin classContainerLifeCycle- Throws:
Exception
-
initialize
- Throws:
Exception
-
doLoad
Description copied from class:AbstractSessionDataStoreLoad the session from persistent store.- Specified by:
doLoadin 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:SessionDataMapDelete 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:AbstractSessionDataStoreStore the session data persistently.- Specified by:
doStorein 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:AbstractSessionDataStoreImplemented by subclasses to resolve which sessions this node should attempt to expire.- Specified by:
doGetExpiredin 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:SessionDataStoreTrue if this type of datastore will passivate session objects- Returns:
- true if this store can passivate sessions, false otherwise
-
exists
Description copied from interface:SessionDataStoreTest 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
-