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 Detail

      • storeName

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

        protected static final java.lang.String threadName
        Deprecated.
        Name to register for the background thread.
        See Also:
        Constant Field Values
      • connectionName

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

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

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

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

        protected java.lang.String driverName
        Deprecated.
        Driver to use.
      • dataSourceName

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

        protected javax.sql.DataSource dataSource
        Deprecated.
        DataSource to use
      • sessionTable

        protected java.lang.String sessionTable
        Deprecated.
        Table to use.
      • sessionAppCol

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

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

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

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

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

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

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

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

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

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

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

      • JDBCStore

        public JDBCStore()
        Deprecated.
    • Method Detail

      • getName

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

        public void setDataSourceName​(java.lang.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 java.lang.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 java.lang.String[] expiredKeys()
                                       throws java.io.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:
        java.io.IOException - if an input-/output error occurred
      • keys

        public java.lang.String[] keys()
                                throws java.io.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:
        java.io.IOException - if an input/output error occurred
      • getSize

        public int getSize()
                    throws java.io.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:
        java.io.IOException - if an input/output error occurred
      • load

        public Session load​(java.lang.String id)
                     throws java.lang.ClassNotFoundException,
                            java.io.IOException
        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:
        java.lang.ClassNotFoundException - if an error occurs
        java.io.IOException - if an input/output error occurred
      • remove

        public void remove​(java.lang.String id)
                    throws java.io.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:
        java.io.IOException - if an input/output error occurs
      • clear

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

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

        protected java.sql.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 java.sql.Connection open()
                                    throws java.sql.SQLException
        Deprecated.
        Open (if necessary) and return a database connection for use by this Store.
        Returns:
        database connection ready to use
        Throws:
        java.sql.SQLException - if a database error occurs
      • close

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

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