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, org.eclipse.jetty.util.component.Container, org.eclipse.jetty.util.component.Destroyable, org.eclipse.jetty.util.component.Dumpable, org.eclipse.jetty.util.component.Dumpable.DumpableContainer, 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 
    SessionTableSchema

    Nested classes/interfaces inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    org.eclipse.jetty.util.component.AbstractLifeCycle.AbstractLifeCycleListener

    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.Dumpable

    org.eclipse.jetty.util.component.Dumpable.DumpableContainer

    Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

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

    Fields
    Modifier and Type
    Field
    Description
    protected DatabaseAdaptor
     
    protected boolean
     
    protected boolean
     
     
    static final String
    Used for Oracle and other databases where "" is treated as NULL

    Fields inherited from class org.eclipse.jetty.server.session.AbstractSessionDataStore

    _context, _gracePeriodSec, _lastExpiryCheckTime, _savePeriodSec

    Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle

    FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING

    Fields inherited from interface org.eclipse.jetty.util.component.Dumpable

    KEY
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Delete session data
    doGetExpired(Set<String> candidates)
    Implemented by subclasses to resolve which sessions this node should attempt to expire.
    protected void
     
    Load the session from persistent store.
    protected void
     
    protected void
     
    void
    doStore(String id, SessionData data, long lastSaveTime)
    Store the session data persistently.
    protected void
     
    boolean
    Test if data exists for a given session id.
    void
     
    boolean
    True if this type of datastore will passivate session objects
    void
     
    void
     

    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

    dumpSelf

    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

  • Constructor Details

    • JDBCSessionDataStore

      public JDBCSessionDataStore()
  • Method Details

    • doStart

      protected void doStart() throws Exception
      Overrides:
      doStart in class AbstractSessionDataStore
      Throws:
      Exception
    • doStop

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

      public void initialize() throws Exception
      Throws:
      Exception
    • doLoad

      public SessionData doLoad(String id) throws 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:
      Exception - if unable to load the session
    • delete

      public boolean delete(String id) throws Exception
      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

      public void doStore(String id, SessionData data, long lastSaveTime) throws 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:
      Exception - if unable to store data
    • doInsert

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

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

      public Set<String> doGetExpired(Set<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)
    • setSessionTableSchema

      public void setSessionTableSchema(JDBCSessionDataStore.SessionTableSchema schema)
    • 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(String id) throws 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:
      Exception - if problem checking existence with persistence layer