|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.directwebremoting.impl.DefaultScriptSessionManager
public class DefaultScriptSessionManager
A default implmentation of ScriptSessionManager.
There are synchronization constraints on this class that could be broken
by subclasses. Specifically anyone accessing either sessionMap
or pageSessionMap
must be holding the sessionLock
.
In addition you should note that DefaultScriptSession
and
DefaultScriptSessionManager
make calls to each other and you should
take care not to break any constraints in inheriting from these classes.
Field Summary | |
---|---|
protected static long |
DEFAULT_SESSION_CHECK_TIME
By default we check for sessions that need expiring every 30 seconds |
protected long |
lastSessionCheckAt
We check for sessions that need timing out every scriptSessionCheckTime ; this is when we last checked. |
protected PageNormalizer |
pageNormalizer
How we turn pages into the canonical form. |
protected java.util.Map |
pageSessionMap
The map of pages that have sessions |
protected long |
scriptSessionCheckTime
How often do we check for script sessions that need timing out |
protected long |
scriptSessionTimeout
How long do we wait before we timeout script sessions? |
protected java.util.Map |
sessionMap
The map of all the known sessions |
Fields inherited from interface org.directwebremoting.extend.ScriptSessionManager |
---|
DEFAULT_TIMEOUT_MILLIS |
Constructor Summary | |
---|---|
DefaultScriptSessionManager()
|
Method Summary | |
---|---|
protected void |
checkTimeouts()
Do a check on all the known sessions to see if and have timeout and need removing. |
java.util.Collection |
getAllScriptSessions()
Get a list of all the currently known ScriptSessions by id. |
RealScriptSession |
getScriptSession(java.lang.String id)
For a given script session id, either create a new ScriptSession object or retrieve an existing one if one exists. |
java.util.Collection |
getScriptSessionsByPage(java.lang.String page)
For a given script session id, either create a new ScriptSession object or retrieve an existing one if one exists. |
long |
getScriptSessionTimeout()
Accessor for the time (in milliseconds) when unused ScriptSessions will expire |
protected void |
invalidate(RealScriptSession scriptSession)
Remove the given session from the list of sessions that we manage, and leave it for the GC vultures to pluck. |
protected void |
maybeCheckTimeouts()
If we call checkTimeouts() too often is could bog things down so
we only check every one in a while (default 30 secs); this checks to see
of we need to check, and checks if we do. |
void |
setPageForScriptSession(RealScriptSession scriptSession,
java.lang.String page)
Locate the given script session on a page |
void |
setPageNormalizer(PageNormalizer pageNormalizer)
Accessfor for the PageNormalizer. |
void |
setScriptSessionCheckTime(long scriptSessionCheckTime)
|
void |
setScriptSessionTimeout(long timeout)
Accessor for the time (in milliseconds) when unused ScriptSessions will expire |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected static final long DEFAULT_SESSION_CHECK_TIME
protected PageNormalizer pageNormalizer
protected volatile long scriptSessionTimeout
protected volatile long scriptSessionCheckTime
protected volatile long lastSessionCheckAt
scriptSessionCheckTime
; this is when we last checked.
protected java.util.Map sessionMap
GuardedBy("sessionLock")
protected java.util.Map pageSessionMap
GuardedBy("sessionLock")
Constructor Detail |
---|
public DefaultScriptSessionManager()
Method Detail |
---|
public RealScriptSession getScriptSession(java.lang.String id)
ScriptSessionManager
getScriptSession
in interface ScriptSessionManager
id
- The id to get a ScriptSession object for
public void setPageForScriptSession(RealScriptSession scriptSession, java.lang.String page)
ScriptSessionManager
setPageForScriptSession
in interface ScriptSessionManager
scriptSession
- The session to locate on a pagepage
- The URL including 'http://', up to (but not including) '?' or '#'public java.util.Collection getScriptSessionsByPage(java.lang.String page)
ScriptSessionManager
getScriptSessionsByPage
in interface ScriptSessionManager
page
- The URL including 'http://', up to (but not including) '?' or '#'
public java.util.Collection getAllScriptSessions()
ScriptSessionManager
getAllScriptSessions
in interface ScriptSessionManager
protected void invalidate(RealScriptSession scriptSession)
scriptSession
- The session to get rid ofprotected void maybeCheckTimeouts()
checkTimeouts()
too often is could bog things down so
we only check every one in a while (default 30 secs); this checks to see
of we need to check, and checks if we do.
protected void checkTimeouts()
public long getScriptSessionTimeout()
ScriptSessionManager
getScriptSessionTimeout
in interface ScriptSessionManager
public void setScriptSessionTimeout(long timeout)
ScriptSessionManager
setScriptSessionTimeout
in interface ScriptSessionManager
timeout
- the timeout to setpublic void setPageNormalizer(PageNormalizer pageNormalizer)
pageNormalizer
- The new PageNormalizerpublic void setScriptSessionCheckTime(long scriptSessionCheckTime)
scriptSessionCheckTime
- the scriptSessionCheckTime to set
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |