Package org.apache.catalina.session
Class JDBCStore
- java.lang.Object
-
- org.apache.catalina.util.LifecycleBase
-
- org.apache.catalina.session.StoreBase
-
- org.apache.catalina.session.JDBCStore
-
- Direct Known Subclasses:
DataSourceStore
@Deprecated public class JDBCStore extends StoreBase
Deprecated.Removed in Tomcat 10 and replaced by DataSourceStore with removal of legacy JDBC codeImplementation of theStoreinterface that stores serialized session objects in a database. Sessions that are saved are still subject to being expired based on inactivity.- Author:
- Bip Thelin
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse
-
-
Field Summary
Fields Modifier and Type Field Description protected StringconnectionNameDeprecated.The connection username to use when trying to connect to the database.protected StringconnectionPasswordDeprecated.The connection URL to use when trying to connect to the database.protected StringconnectionURLDeprecated.Connection string to use when connecting to the DB.protected DataSourcedataSourceDeprecated.DataSource to useprotected StringdataSourceNameDeprecated.name of the JNDI resourceprotected DriverdriverDeprecated.Instance of the JDBC Driver class we use as a connection factory.protected StringdriverNameDeprecated.Driver to use.protected PreparedStatementpreparedClearSqlDeprecated.Variable to hold theclear()prepared statement.protected PreparedStatementpreparedLoadSqlDeprecated.Variable to hold theload()prepared statement.protected PreparedStatementpreparedRemoveSqlDeprecated.Variable to hold theremove()prepared statement.protected PreparedStatementpreparedSaveSqlDeprecated.Variable to hold thesave()prepared statement.protected PreparedStatementpreparedSizeSqlDeprecated.Variable to hold thegetSize()prepared statement.protected StringsessionAppColDeprecated.Column to use for /Engine/Host/Context nameprotected StringsessionDataColDeprecated.Data column to use.protected StringsessionIdColDeprecated.Id column to use.protected StringsessionLastAccessedColDeprecated.Last Accessed column to use.protected StringsessionMaxInactiveColDeprecated.Max Inactive column to use.protected StringsessionTableDeprecated.Table to use.protected StringsessionValidColDeprecated.Is Validcolumn to use.protected static StringstoreNameDeprecated.Name to register for this Store, used for logging.protected static StringthreadNameDeprecated.Name to register for the background thread.-
Fields inherited from interface org.apache.catalina.Lifecycle
AFTER_DESTROY_EVENT, AFTER_INIT_EVENT, AFTER_START_EVENT, AFTER_STOP_EVENT, BEFORE_DESTROY_EVENT, BEFORE_INIT_EVENT, BEFORE_START_EVENT, BEFORE_STOP_EVENT, CONFIGURE_START_EVENT, CONFIGURE_STOP_EVENT, PERIODIC_EVENT, START_EVENT, STOP_EVENT
-
-
Constructor Summary
Constructors Constructor Description JDBCStore()Deprecated.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description voidclear()Deprecated.Remove all of the Sessions in this Store.protected voidclose(Connection dbConnection)Deprecated.Close the specified database connection.String[]expiredKeys()Deprecated.Get only those keys of sessions, that are saved in the Store and are to be expired.protected ConnectiongetConnection()Deprecated.Check the connection associated with this store, if it'snullor closed try to reopen it.StringgetConnectionName()Deprecated.StringgetConnectionPassword()Deprecated.StringgetConnectionURL()Deprecated.StringgetDataSourceName()Deprecated.StringgetDriverName()Deprecated.booleangetLocalDataSource()Deprecated.StringgetName()Deprecated.StringgetSessionAppCol()Deprecated.StringgetSessionDataCol()Deprecated.StringgetSessionIdCol()Deprecated.StringgetSessionLastAccessedCol()Deprecated.StringgetSessionMaxInactiveCol()Deprecated.StringgetSessionTable()Deprecated.StringgetSessionValidCol()Deprecated.intgetSize()Deprecated.Return an integer containing a count of all Sessions currently saved in this Store.StringgetStoreName()Deprecated.StringgetThreadName()Deprecated.String[]keys()Deprecated.Sessionload(String id)Deprecated.Load the Session associated with the idid.protected Connectionopen()Deprecated.Open (if necessary) and return a database connection for use by this Store.protected voidrelease(Connection conn)Deprecated.Release the connection, if it is associated with a connection pool.voidremove(String id)Deprecated.Remove the Session with the specified session identifier from this Store, if present.voidsave(Session session)Deprecated.Save a session to the Store.voidsetConnectionName(String connectionName)Deprecated.Set the username to use to connect to the database.voidsetConnectionPassword(String connectionPassword)Deprecated.Set the password to use to connect to the database.voidsetConnectionURL(String connectionURL)Deprecated.Set the Connection URL for this Store.voidsetDataSourceName(String dataSourceName)Deprecated.Set the JNDI name of a DataSource-factory to use for db accessvoidsetDriverName(String driverName)Deprecated.Set the driver for this Store.voidsetLocalDataSource(boolean localDataSource)Deprecated.Set totrueto cause the datasource to be looked up in the webapp JNDI Context.voidsetSessionAppCol(String sessionAppCol)Deprecated.Set the App column for the table.voidsetSessionDataCol(String sessionDataCol)Deprecated.Set the Data column for the tablevoidsetSessionIdCol(String sessionIdCol)Deprecated.Set the Id column for the table.voidsetSessionLastAccessedCol(String sessionLastAccessedCol)Deprecated.Set theLast Accessedcolumn for the tablevoidsetSessionMaxInactiveCol(String sessionMaxInactiveCol)Deprecated.Set theMax Inactivecolumn for the tablevoidsetSessionTable(String sessionTable)Deprecated.Set the table for this Store.voidsetSessionValidCol(String sessionValidCol)Deprecated.Set theIs Validcolumn for the tableprotected voidstartInternal()Deprecated.Start this component and implement the requirements ofLifecycleBase.startInternal().protected voidstopInternal()Deprecated.Stop this component and implement the requirements ofLifecycleBase.stopInternal().-
Methods inherited from class org.apache.catalina.session.StoreBase
addPropertyChangeListener, destroyInternal, getManager, getObjectInputStream, initInternal, processExpires, removePropertyChangeListener, setManager, toString
-
Methods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
-
-
-
Field Detail
-
storeName
protected static final String storeName
Deprecated.Name to register for this Store, used for logging.- See Also:
- Constant Field Values
-
threadName
protected static final String threadName
Deprecated.Name to register for the background thread.- See Also:
- Constant Field Values
-
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 Validcolumn 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 thegetSize()prepared statement.
-
preparedSaveSql
protected PreparedStatement preparedSaveSql
Deprecated.Variable to hold thesave()prepared statement.
-
preparedClearSql
protected PreparedStatement preparedClearSql
Deprecated.Variable to hold theclear()prepared statement.
-
preparedRemoveSql
protected PreparedStatement preparedRemoveSql
Deprecated.Variable to hold theremove()prepared statement.
-
preparedLoadSql
protected PreparedStatement preparedLoadSql
Deprecated.Variable to hold theload()prepared statement.
-
-
Method Detail
-
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:
getStoreNamein classStoreBase- 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 theIs Validcolumn for the table- Parameters:
sessionValidCol- The column name
-
getSessionValidCol
public String getSessionValidCol()
Deprecated.- Returns:
- the
Is Validcolumn
-
setSessionMaxInactiveCol
public void setSessionMaxInactiveCol(String sessionMaxInactiveCol)
Deprecated.Set theMax Inactivecolumn for the table- Parameters:
sessionMaxInactiveCol- The column name
-
getSessionMaxInactiveCol
public String getSessionMaxInactiveCol()
Deprecated.- Returns:
- the
Max Inactivecolumn
-
setSessionLastAccessedCol
public void setSessionLastAccessedCol(String sessionLastAccessedCol)
Deprecated.Set theLast Accessedcolumn for the table- Parameters:
sessionLastAccessedCol- The column name
-
getSessionLastAccessedCol
public String getSessionLastAccessedCol()
Deprecated.- Returns:
- the
Last Accessedcolumn
-
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 totrueto 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:StoreBaseGet only those keys of sessions, that are saved in the Store and are to be expired.- Overrides:
expiredKeysin classStoreBase- 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 IOExceptionDeprecated.Return an integer containing a count of all Sessions currently saved in this Store. If there are no Sessions,0is returned.- Returns:
- the count of all sessions currently saved in this Store
- Throws:
IOException- if an input/output error occurred
-
load
public Session load(String id) throws ClassNotFoundException, IOException
Deprecated.Load the Session associated with the idid. If no such session is foundnullis returned.- Parameters:
id- a value of typeString- Returns:
- the stored
Session - Throws:
ClassNotFoundException- if an error occursIOException- 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 IOExceptionDeprecated.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'snullor closed try to reopen it. Returnsnullif the connection could not be established.- Returns:
Connectionif 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 LifecycleExceptionDeprecated.Start this component and implement the requirements ofLifecycleBase.startInternal().- Overrides:
startInternalin classStoreBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
stopInternal
protected void stopInternal() throws LifecycleExceptionDeprecated.Stop this component and implement the requirements ofLifecycleBase.stopInternal().- Overrides:
stopInternalin classStoreBase- Throws:
LifecycleException- if this component detects a fatal error that prevents this component from being used
-
-