|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.eclipse.jetty.util.component.AbstractLifeCycle
org.eclipse.jetty.server.session.AbstractSessionIdManager
org.eclipse.jetty.server.session.JDBCSessionIdManager
public class JDBCSessionIdManager
JDBCSessionIdManager SessionIdManager implementation that uses a database to store in-use session ids, to support distributed sessions.
| Nested Class Summary | |
|---|---|
class |
JDBCSessionIdManager.DatabaseAdaptor
DatabaseAdaptor Handles differences between databases. |
| Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle |
|---|
LifeCycle.Listener |
| Field Summary | |
|---|---|
protected java.lang.String |
_connectionUrl
|
protected java.lang.String |
_createSessionIdTable
|
protected java.lang.String |
_createSessionTable
|
protected javax.sql.DataSource |
_datasource
|
protected JDBCSessionIdManager.DatabaseAdaptor |
_dbAdaptor
|
protected java.lang.String |
_deleteId
|
protected java.lang.String |
_deleteOldExpiredSessions
|
protected java.lang.String |
_driverClassName
|
protected java.lang.String |
_insertId
|
protected java.lang.String |
_jndiName
|
protected long |
_lastScavengeTime
|
protected java.lang.String |
_queryId
|
protected long |
_scavengeIntervalMs
|
protected java.lang.String |
_selectExpiredSessions
|
protected java.util.HashSet<java.lang.String> |
_sessionIds
|
protected java.lang.String |
_sessionIdTable
|
protected java.lang.String |
_sessionTable
|
protected java.util.TimerTask |
_task
|
protected java.util.Timer |
_timer
|
| Fields inherited from class org.eclipse.jetty.server.session.AbstractSessionIdManager |
|---|
_random, _server, _weakRandom, _workerName, SESSION_ID_RANDOM_ALGORITHM, SESSION_ID_RANDOM_ALGORITHM_ALT |
| Fields inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle |
|---|
_listeners, FAILED, RUNNING, STARTED, STARTING, STOPPED, STOPPING |
| Constructor Summary | |
|---|---|
JDBCSessionIdManager(Server server)
|
|
JDBCSessionIdManager(Server server,
java.util.Random random)
|
|
| Method Summary | |
|---|---|
void |
addSession(javax.servlet.http.HttpSession session)
Add a session to the list of known sessions for a given ID. |
void |
doStart()
Start up the id manager. |
void |
doStop()
Stop the scavenger. |
java.lang.String |
getClusterId(java.lang.String nodeId)
Get the session id without any node identifier suffix. |
protected java.sql.Connection |
getConnection()
Get a connection from the driver or datasource. |
java.lang.String |
getConnectionUrl()
|
java.lang.String |
getDatasourceName()
|
java.lang.String |
getDriverClassName()
|
java.lang.String |
getNodeId(java.lang.String clusterId,
javax.servlet.http.HttpServletRequest request)
Get the session id, including this node's id as a suffix. |
long |
getScavengeInterval()
|
boolean |
idInUse(java.lang.String id)
|
void |
invalidateAll(java.lang.String id)
Invalidate the session matching the id on all contexts. |
void |
removeSession(javax.servlet.http.HttpSession session)
Remove session from the list of known sessions for a given ID. |
void |
removeSession(java.lang.String id)
|
void |
setDatasourceName(java.lang.String jndi)
|
void |
setDriverInfo(java.lang.String driverClassName,
java.lang.String connectionUrl)
Configure jdbc connection information via a jdbc Driver |
void |
setScavengeInterval(long sec)
|
| Methods inherited from class org.eclipse.jetty.server.session.AbstractSessionIdManager |
|---|
getRandom, getWorkerName, initRandom, newSessionId, setRandom, setWorkerName |
| Methods inherited from class org.eclipse.jetty.util.component.AbstractLifeCycle |
|---|
addLifeCycleListener, getState, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface org.eclipse.jetty.util.component.LifeCycle |
|---|
addLifeCycleListener, isFailed, isRunning, isStarted, isStarting, isStopped, isStopping, removeLifeCycleListener, start, stop |
| Field Detail |
|---|
protected final java.util.HashSet<java.lang.String> _sessionIds
protected java.lang.String _driverClassName
protected java.lang.String _connectionUrl
protected javax.sql.DataSource _datasource
protected java.lang.String _jndiName
protected java.lang.String _sessionIdTable
protected java.lang.String _sessionTable
protected java.util.Timer _timer
protected java.util.TimerTask _task
protected long _lastScavengeTime
protected long _scavengeIntervalMs
protected java.lang.String _createSessionIdTable
protected java.lang.String _createSessionTable
protected java.lang.String _selectExpiredSessions
protected java.lang.String _deleteOldExpiredSessions
protected java.lang.String _insertId
protected java.lang.String _deleteId
protected java.lang.String _queryId
protected JDBCSessionIdManager.DatabaseAdaptor _dbAdaptor
| Constructor Detail |
|---|
public JDBCSessionIdManager(Server server)
public JDBCSessionIdManager(Server server,
java.util.Random random)
| Method Detail |
|---|
public void setDriverInfo(java.lang.String driverClassName,
java.lang.String connectionUrl)
driverClassName - connectionUrl - public java.lang.String getDriverClassName()
public java.lang.String getConnectionUrl()
public void setDatasourceName(java.lang.String jndi)
public java.lang.String getDatasourceName()
public void setScavengeInterval(long sec)
public long getScavengeInterval()
public void addSession(javax.servlet.http.HttpSession session)
SessionIdManager
session - The sessionpublic void removeSession(javax.servlet.http.HttpSession session)
SessionIdManager
public void removeSession(java.lang.String id)
public java.lang.String getClusterId(java.lang.String nodeId)
SessionIdManager.getClusterId(java.lang.String)
public java.lang.String getNodeId(java.lang.String clusterId,
javax.servlet.http.HttpServletRequest request)
clusterId - The ID of the sessionrequest - The request that for the session (or null)
SessionIdManager.getNodeId(java.lang.String, javax.servlet.http.HttpServletRequest)public boolean idInUse(java.lang.String id)
id - The session ID without any cluster node extension
public void invalidateAll(java.lang.String id)
id - The session ID without any cluster node extensionSessionIdManager.invalidateAll(java.lang.String)public void doStart()
doStart in class AbstractSessionIdManagerAbstractSessionIdManager.doStart()
public void doStop()
throws java.lang.Exception
doStop in class AbstractLifeCyclejava.lang.ExceptionAbstractLifeCycle.doStop()
protected java.sql.Connection getConnection()
throws java.sql.SQLException
java.sql.SQLException
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||