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
-
-
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, threadName
-
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 DataSourceStore()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
clear()
Remove all of the Sessions in this Store.protected void
close(Connection dbConnection)
Close the specified database connection.String[]
expiredKeys()
Get only those keys of sessions, that are saved in the Store and are to be expired.int
getSize()
Return an integer containing a count of all Sessions currently saved in this Store.String[]
keys()
Session
load(String id)
Load the Session associated with the idid
.protected Connection
open()
Open (if necessary) and return a database connection for use by this Store.void
remove(String id)
Remove the Session with the specified session identifier from this Store, if present.void
save(Session session)
Save 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, 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
-
-
-
-
Method Detail
-
expiredKeys
public String[] expiredKeys() throws IOException
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 classJDBCStore
- Returns:
- list of session keys, that are to be expired
- Throws:
IOException
- if an input-/output error occurred
-
keys
public String[] keys() throws IOException
- Specified by:
keys
in interfaceStore
- Overrides:
keys
in 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
public int getSize() throws IOException
Return an integer containing a count of all Sessions currently saved in this Store. If there are no Sessions,0
is returned.- Specified by:
getSize
in interfaceStore
- Overrides:
getSize
in classJDBCStore
- 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
Load the Session associated with the idid
. If no such session is foundnull
is returned.- Specified by:
load
in interfaceStore
- Overrides:
load
in classJDBCStore
- 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
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:
remove
in interfaceStore
- Overrides:
remove
in classJDBCStore
- Parameters:
id
- Session identifier of the Session to be removed- Throws:
IOException
- if an input/output error occurs
-
clear
public void clear() throws IOException
Remove all of the Sessions in this Store.- Specified by:
clear
in interfaceStore
- Overrides:
clear
in classJDBCStore
- Throws:
IOException
- if an input/output error occurs
-
save
public void save(Session session) throws IOException
Save a session to the Store.- Specified by:
save
in interfaceStore
- Overrides:
save
in classJDBCStore
- Parameters:
session
- the session to be stored- Throws:
IOException
- if an input/output error occurs
-
open
protected Connection open() throws SQLException
Open (if necessary) and return a database connection for use by this Store.- Overrides:
open
in classJDBCStore
- Returns:
- database connection ready to use
- Throws:
SQLException
- if a database error occurs
-
close
protected void close(Connection dbConnection)
Close the specified database connection.
-
-