Class JDBCSessionDataStore

  • All Implemented Interfaces:
    SessionDataMap, SessionDataStore, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.LifeCycle

    @ManagedObject
    public class JDBCSessionDataStore
    extends AbstractSessionDataStore
    JDBCSessionDataStore Session data stored in database
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  JDBCSessionDataStore.SessionTableSchema
      SessionTableSchema
      • Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener, org.eclipse.jetty.util.component.AbstractLifeCycle.StopException
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.Container

        org.eclipse.jetty.util.component.Container.InheritedListener, org.eclipse.jetty.util.component.Container.Listener
      • Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

        org.eclipse.jetty.util.component.LifeCycle.Listener
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean delete​(java.lang.String id)
      Delete session data
      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 doInsert​(java.lang.String id, SessionData data)  
      SessionData doLoad​(java.lang.String id)
      Load the session from persistent store.
      protected void doStart()  
      protected void doStop()  
      void doStore​(java.lang.String id, SessionData data, long lastSaveTime)
      Store the session data persistently.
      protected void doUpdate​(java.lang.String id, SessionData data)  
      boolean exists​(java.lang.String id)
      Test if data exists for a given session id.
      void initialize()  
      boolean isPassivating()
      True if this type of datastore will passivate session objects
      void setDatabaseAdaptor​(DatabaseAdaptor dbAdaptor)  
      void setSessionTableSchema​(JDBCSessionDataStore.SessionTableSchema schema)  
      • Methods inherited from class org.eclipse.jetty.util.component.ContainerLifeCycle

        addBean, addBean, addEventListener, addManaged, contains, destroy, dump, dump, dump, dumpObjects, dumpStdErr, getBean, getBeans, getBeans, getContainedBeans, getContainedBeans, isAuto, isManaged, isUnmanaged, manage, removeBean, removeBeans, removeEventListener, setBeans, start, stop, unmanage, updateBean, updateBean, updateBeans
      • Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

        getEventListeners, getState, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, setEventListeners, 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.Container

        getCachedBeans, getEventListeners
      • Methods inherited from interface org.eclipse.jetty.util.component.Dumpable

        dumpSelf
      • Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle

        addEventListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeEventListener, start, stop
    • Field Detail

      • NULL_CONTEXT_PATH

        public static final java.lang.String NULL_CONTEXT_PATH
        Used for Oracle and other databases where "" is treated as NULL
        See Also:
        Constant Field Values
      • _initialized

        protected boolean _initialized
      • _schemaProvided

        protected boolean _schemaProvided
    • Constructor Detail

      • JDBCSessionDataStore

        public JDBCSessionDataStore()
    • Method Detail

      • doStop

        protected void doStop()
                       throws java.lang.Exception
        Overrides:
        doStop in class org.eclipse.jetty.util.component.ContainerLifeCycle
        Throws:
        java.lang.Exception
      • initialize

        public void initialize()
                        throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doLoad

        public SessionData doLoad​(java.lang.String id)
                           throws java.lang.Exception
        Description copied from class: AbstractSessionDataStore
        Load the session from persistent store.
        Specified by:
        doLoad in class AbstractSessionDataStore
        Parameters:
        id - the id of the session to load
        Returns:
        the re-inflated session
        Throws:
        java.lang.Exception - if unable to load the session
      • delete

        public boolean delete​(java.lang.String id)
                       throws java.lang.Exception
        Description copied from interface: SessionDataMap
        Delete session data
        Parameters:
        id - identity of session to delete
        Returns:
        true if the session was deleted
        Throws:
        java.lang.Exception - if unable to delete session data
      • doStore

        public void doStore​(java.lang.String id,
                            SessionData data,
                            long lastSaveTime)
                     throws java.lang.Exception
        Description copied from class: AbstractSessionDataStore
        Store the session data persistently.
        Specified by:
        doStore in class AbstractSessionDataStore
        Parameters:
        id - identity of session to store
        data - info of the session
        lastSaveTime - time of previous save or 0 if never saved
        Throws:
        java.lang.Exception - if unable to store data
      • doInsert

        protected void doInsert​(java.lang.String id,
                                SessionData data)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doUpdate

        protected void doUpdate​(java.lang.String id,
                                SessionData data)
                         throws java.lang.Exception
        Throws:
        java.lang.Exception
      • doGetExpired

        public java.util.Set<java.lang.String> doGetExpired​(java.util.Set<java.lang.String> candidates)
        Description copied from class: AbstractSessionDataStore
        Implemented by subclasses to resolve which sessions this node should attempt to expire.
        Specified by:
        doGetExpired in class AbstractSessionDataStore
        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

        public void setDatabaseAdaptor​(DatabaseAdaptor dbAdaptor)
      • 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

        public boolean exists​(java.lang.String id)
                       throws java.lang.Exception
        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:
        java.lang.Exception - if problem checking existence with persistence layer