Class JDBCStore

All Implemented Interfaces:
Lifecycle, Store
Direct Known Subclasses:
DataSourceStore

@Deprecated public class JDBCStore extends StoreBase
Deprecated.
Removed in Tomcat 10 and replaced by DataSourceStore with removal of legacy JDBC code
Implementation of the Store interface that stores serialized session objects in a database. Sessions that are saved are still subject to being expired based on inactivity.
Author:
Bip Thelin
  • Field Details

    • storeName

      protected static final String storeName
      Deprecated.
      Name to register for this Store, used for logging.
      See Also:
    • threadName

      protected static final String threadName
      Deprecated.
      Name to register for the background thread.
      See Also:
    • connectionName

      protected String connectionName
      Deprecated.
      The connection username to use when trying to connect to the database.
    • connectionPassword

      protected String connectionPassword
      Deprecated.
      The connection URL to use when trying to connect to the database.
    • connectionURL

      protected String connectionURL
      Deprecated.
      Connection string to use when connecting to the DB.
    • driver

      protected Driver driver
      Deprecated.
      Instance of the JDBC Driver class we use as a connection factory.
    • driverName

      protected String driverName
      Deprecated.
      Driver to use.
    • dataSourceName

      protected String dataSourceName
      Deprecated.
      name of the JNDI resource
    • dataSource

      protected DataSource dataSource
      Deprecated.
      DataSource to use
    • sessionTable

      protected String sessionTable
      Deprecated.
      Table to use.
    • sessionAppCol

      protected String sessionAppCol
      Deprecated.
      Column to use for /Engine/Host/Context name
    • sessionIdCol

      protected String sessionIdCol
      Deprecated.
      Id column to use.
    • sessionDataCol

      protected String sessionDataCol
      Deprecated.
      Data column to use.
    • sessionValidCol

      protected String sessionValidCol
      Deprecated.
      Is Valid column to use.
    • sessionMaxInactiveCol

      protected String sessionMaxInactiveCol
      Deprecated.
      Max Inactive column to use.
    • sessionLastAccessedCol

      protected String sessionLastAccessedCol
      Deprecated.
      Last Accessed column to use.
    • preparedSizeSql

      protected PreparedStatement preparedSizeSql
      Deprecated.
      Variable to hold the getSize() prepared statement.
    • preparedSaveSql

      protected PreparedStatement preparedSaveSql
      Deprecated.
      Variable to hold the save() prepared statement.
    • preparedClearSql

      protected PreparedStatement preparedClearSql
      Deprecated.
      Variable to hold the clear() prepared statement.
    • preparedRemoveSql

      protected PreparedStatement preparedRemoveSql
      Deprecated.
      Variable to hold the remove() prepared statement.
    • preparedLoadSql

      protected PreparedStatement preparedLoadSql
      Deprecated.
      Variable to hold the load() prepared statement.
  • Constructor Details

    • JDBCStore

      public JDBCStore()
      Deprecated.
  • Method Details

    • getName

      public String getName()
      Deprecated.
      Returns:
      the name for this instance (built from container name)
    • getThreadName

      public String getThreadName()
      Deprecated.
      Returns:
      the thread name for this Store.
    • getStoreName

      public String getStoreName()
      Deprecated.
      Overrides:
      getStoreName in class StoreBase
      Returns:
      the name for this Store, used for logging.
    • setDriverName

      public void setDriverName(String driverName)
      Deprecated.
      Set the driver for this Store.
      Parameters:
      driverName - The new driver
    • getDriverName

      public String getDriverName()
      Deprecated.
      Returns:
      the driver for this Store.
    • getConnectionName

      public String getConnectionName()
      Deprecated.
      Returns:
      the username to use to connect to the database.
    • setConnectionName

      public void setConnectionName(String connectionName)
      Deprecated.
      Set the username to use to connect to the database.
      Parameters:
      connectionName - Username
    • getConnectionPassword

      public String getConnectionPassword()
      Deprecated.
      Returns:
      the password to use to connect to the database.
    • setConnectionPassword

      public void setConnectionPassword(String connectionPassword)
      Deprecated.
      Set the password to use to connect to the database.
      Parameters:
      connectionPassword - User password
    • setConnectionURL

      public void setConnectionURL(String connectionURL)
      Deprecated.
      Set the Connection URL for this Store.
      Parameters:
      connectionURL - The new Connection URL
    • getConnectionURL

      public String getConnectionURL()
      Deprecated.
      Returns:
      the Connection URL for this Store.
    • setSessionTable

      public void setSessionTable(String sessionTable)
      Deprecated.
      Set the table for this Store.
      Parameters:
      sessionTable - The new table
    • getSessionTable

      public String getSessionTable()
      Deprecated.
      Returns:
      the table for this Store.
    • setSessionAppCol

      public void setSessionAppCol(String sessionAppCol)
      Deprecated.
      Set the App column for the table.
      Parameters:
      sessionAppCol - the column name
    • getSessionAppCol

      public String getSessionAppCol()
      Deprecated.
      Returns:
      the web application name column for the table.
    • setSessionIdCol

      public void setSessionIdCol(String sessionIdCol)
      Deprecated.
      Set the Id column for the table.
      Parameters:
      sessionIdCol - the column name
    • getSessionIdCol

      public String getSessionIdCol()
      Deprecated.
      Returns:
      the Id column for the table.
    • setSessionDataCol

      public void setSessionDataCol(String sessionDataCol)
      Deprecated.
      Set the Data column for the table
      Parameters:
      sessionDataCol - the column name
    • getSessionDataCol

      public String getSessionDataCol()
      Deprecated.
      Returns:
      the data column for the table
    • setSessionValidCol

      public void setSessionValidCol(String sessionValidCol)
      Deprecated.
      Set the Is Valid column for the table
      Parameters:
      sessionValidCol - The column name
    • getSessionValidCol

      public String getSessionValidCol()
      Deprecated.
      Returns:
      the Is Valid column
    • setSessionMaxInactiveCol

      public void setSessionMaxInactiveCol(String sessionMaxInactiveCol)
      Deprecated.
      Set the Max Inactive column for the table
      Parameters:
      sessionMaxInactiveCol - The column name
    • getSessionMaxInactiveCol

      public String getSessionMaxInactiveCol()
      Deprecated.
      Returns:
      the Max Inactive column
    • setSessionLastAccessedCol

      public void setSessionLastAccessedCol(String sessionLastAccessedCol)
      Deprecated.
      Set the Last Accessed column for the table
      Parameters:
      sessionLastAccessedCol - The column name
    • getSessionLastAccessedCol

      public String getSessionLastAccessedCol()
      Deprecated.
      Returns:
      the Last Accessed column
    • setDataSourceName

      public void setDataSourceName(String dataSourceName)
      Deprecated.
      Set the JNDI name of a DataSource-factory to use for db access
      Parameters:
      dataSourceName - The JNDI name of the DataSource-factory
    • getDataSourceName

      public String getDataSourceName()
      Deprecated.
      Returns:
      the name of the JNDI DataSource-factory
    • getLocalDataSource

      public boolean getLocalDataSource()
      Deprecated.
      Returns:
      if the datasource will be looked up in the webapp JNDI Context.
    • setLocalDataSource

      public void setLocalDataSource(boolean localDataSource)
      Deprecated.
      Set to true to cause the datasource to be looked up in the webapp JNDI Context.
      Parameters:
      localDataSource - the new flag value
    • expiredKeys

      public String[] expiredKeys() throws IOException
      Deprecated.
      Description copied from class: StoreBase
      Get only those keys of sessions, that are saved in the Store and are to be expired.
      Overrides:
      expiredKeys in class StoreBase
      Returns:
      list of session keys, that are to be expired
      Throws:
      IOException - if an input-/output error occurred
    • keys

      public String[] keys() throws IOException
      Deprecated.
      Returns:
      an array containing the session identifiers of all Sessions currently saved in this Store. If there are no such Sessions, a zero-length array is returned.
      Throws:
      IOException - if an input/output error occurred
    • getSize

      public int getSize() throws IOException
      Deprecated.
      Return an integer containing a count of all Sessions currently saved in this Store. If there are no Sessions, 0 is returned.
      Returns:
      the count of all sessions currently saved in this Store
      Throws:
      IOException - if an input/output error occurred
    • load

      Deprecated.
      Load the Session associated with the id id. If no such session is found null is returned.
      Parameters:
      id - a value of type String
      Returns:
      the stored Session
      Throws:
      ClassNotFoundException - if an error occurs
      IOException - if an input/output error occurred
    • remove

      public void remove(String id) throws IOException
      Deprecated.
      Remove the Session with the specified session identifier from this Store, if present. If no such Session is present, this method takes no action.
      Parameters:
      id - Session identifier of the Session to be removed
      Throws:
      IOException - if an input/output error occurs
    • clear

      public void clear() throws IOException
      Deprecated.
      Remove all of the Sessions in this Store.
      Throws:
      IOException - if an input/output error occurs
    • save

      public void save(Session session) throws IOException
      Deprecated.
      Save a session to the Store.
      Parameters:
      session - the session to be stored
      Throws:
      IOException - if an input/output error occurs
    • getConnection

      protected Connection getConnection()
      Deprecated.
      Check the connection associated with this store, if it's null or closed try to reopen it. Returns null if the connection could not be established.
      Returns:
      Connection if the connection succeeded
    • open

      protected Connection open() throws SQLException
      Deprecated.
      Open (if necessary) and return a database connection for use by this Store.
      Returns:
      database connection ready to use
      Throws:
      SQLException - if a database error occurs
    • close

      protected void close(Connection dbConnection)
      Deprecated.
      Close the specified database connection.
      Parameters:
      dbConnection - The connection to be closed
    • release

      protected void release(Connection conn)
      Deprecated.
      Release the connection, if it is associated with a connection pool.
      Parameters:
      conn - The connection to be released
    • startInternal

      protected void startInternal() throws LifecycleException
      Deprecated.
      Start this component and implement the requirements of LifecycleBase.startInternal().
      Overrides:
      startInternal in class StoreBase
      Throws:
      LifecycleException - if this component detects a fatal error that prevents this component from being used
    • stopInternal

      protected void stopInternal() throws LifecycleException
      Deprecated.
      Stop this component and implement the requirements of LifecycleBase.stopInternal().
      Overrides:
      stopInternal in class StoreBase
      Throws:
      LifecycleException - if this component detects a fatal error that prevents this component from being used