Package org.apache.catalina.session
Class DataSourceStore
java.lang.Object
org.apache.catalina.util.LifecycleBase
org.apache.catalina.session.StoreBase
org.apache.catalina.session.JDBCStore
org.apache.catalina.session.DataSourceStore
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
-
Nested Class Summary
Nested classes/interfaces inherited from interface org.apache.catalina.Lifecycle
Lifecycle.SingleUse -
Field Summary
Fields inherited from class org.apache.catalina.session.JDBCStore
connectionName, connectionPassword, connectionURL, dataSource, dataSourceName, driver, driverName, preparedClearSql, preparedLoadSql, preparedRemoveSql, preparedSaveSql, preparedSizeSql, sessionAppCol, sessionDataCol, sessionIdCol, sessionLastAccessedCol, sessionMaxInactiveCol, sessionTable, sessionValidCol, storeName, threadNameFields 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 -
Method Summary
Modifier and TypeMethodDescriptionvoidclear()Remove all of the Sessions in this Store.protected voidclose(Connection dbConnection) Close the specified database connection.String[]Get only those keys of sessions, that are saved in the Store and are to be expired.intgetSize()Return an integer containing a count of all Sessions currently saved in this Store.String[]keys()Load the Session associated with the idid.protected Connectionopen()Open (if necessary) and return a database connection for use by this Store.voidRemove the Session with the specified session identifier from this Store, if present.voidSave a session to the Store.Methods inherited from class org.apache.catalina.session.JDBCStore
getConnection, getConnectionName, getConnectionPassword, getConnectionURL, getDataSourceName, getDriverName, getLocalDataSource, getName, getSessionAppCol, getSessionDataCol, getSessionIdCol, getSessionLastAccessedCol, getSessionMaxInactiveCol, getSessionTable, getSessionValidCol, getStoreName, getThreadName, release, setConnectionName, setConnectionPassword, setConnectionURL, setDataSourceName, setDriverName, setLocalDataSource, setSessionAppCol, setSessionDataCol, setSessionIdCol, setSessionLastAccessedCol, setSessionMaxInactiveCol, setSessionTable, setSessionValidCol, startInternal, stopInternalMethods inherited from class org.apache.catalina.session.StoreBase
addPropertyChangeListener, destroyInternal, getManager, getObjectInputStream, initInternal, processExpires, removePropertyChangeListener, setManager, toStringMethods inherited from class org.apache.catalina.util.LifecycleBase
addLifecycleListener, destroy, findLifecycleListeners, fireLifecycleEvent, getState, getStateName, getThrowOnFailure, init, removeLifecycleListener, setState, setState, setThrowOnFailure, start, stop
-
Constructor Details
-
DataSourceStore
public DataSourceStore()
-
-
Method Details
-
expiredKeys
Description copied from class:StoreBaseGet only those keys of sessions, that are saved in the Store and are to be expired.- Overrides:
expiredKeysin classJDBCStore- Returns:
- list of session keys, that are to be expired
- Throws:
IOException- if an input-/output error occurred
-
keys
- Specified by:
keysin interfaceStore- Overrides:
keysin classJDBCStore- 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
Return an integer containing a count of all Sessions currently saved in this Store. If there are no Sessions,0is returned.- Specified by:
getSizein interfaceStore- Overrides:
getSizein classJDBCStore- Returns:
- the count of all sessions currently saved in this Store
- Throws:
IOException- if an input/output error occurred
-
load
Load the Session associated with the idid. If no such session is foundnullis returned.- Specified by:
loadin interfaceStore- Overrides:
loadin classJDBCStore- Parameters:
id- a value of typeString- Returns:
- the stored
Session - Throws:
ClassNotFoundException- if an error occursIOException- if an input/output error occurred
-
remove
Remove the Session with the specified session identifier from this Store, if present. If no such Session is present, this method takes no action.- Specified by:
removein interfaceStore- Overrides:
removein classJDBCStore- Parameters:
id- Session identifier of the Session to be removed- Throws:
IOException- if an input/output error occurs
-
clear
Remove all of the Sessions in this Store.- Specified by:
clearin interfaceStore- Overrides:
clearin classJDBCStore- Throws:
IOException- if an input/output error occurs
-
save
Save a session to the Store.- Specified by:
savein interfaceStore- Overrides:
savein classJDBCStore- Parameters:
session- the session to be stored- Throws:
IOException- if an input/output error occurs
-
open
Open (if necessary) and return a database connection for use by this Store.- Overrides:
openin classJDBCStore- Returns:
- database connection ready to use
- Throws:
SQLException- if a database error occurs
-
close
Close the specified database connection.
-