|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectnl.justobjects.pushlet.core.SessionManager
Manages lifecycle of Sessions.
| Nested Class Summary | |
private class |
SessionManager.AgingTimerTask
Manages session timeouts. |
| Field Summary | |
private static SessionManager |
instance
Singleton pattern: single instance. |
private Session[] |
sessionCache
Shadow cache of active Sessions. |
private boolean |
sessionCacheDirty
Flag indicating subscriptions have changed. |
private java.util.Map |
sessions
Map of active sessions, keyed by their id. |
private java.util.Timer |
timer
Timer to schedule session leasing TimerTasks. |
private long |
TIMER_INTERVAL_MILLIS
|
| Constructor Summary | |
protected |
SessionManager()
Singleton pattern: protected constructor needed for derived classes. |
| Method Summary | |
void |
addSession(Session session)
Add session. |
Session |
createSession(Event anEvent)
Create new Session (but add later). |
java.lang.String |
createSessionId()
Create unique Session id. |
private void |
debug(java.lang.String s)
Util: stdout printing. |
static SessionManager |
getInstance()
Singleton pattern: get single instance. |
Session |
getSession(java.lang.String anId)
Get number of listening Sessions. |
int |
getSessionCount()
Get number of listening Sessions. |
Session[] |
getSessions()
Get copy of listening Sessions. |
Session[] |
getSnapshot()
|
java.lang.String |
getStatus()
Get status info. |
boolean |
hasSession(java.lang.String anId)
Is Session present?. |
private void |
info(java.lang.String s)
Util: stdout printing. |
Session |
removeSession(Session aSession)
Register session for removal. |
void |
start()
Util: stdout printing. |
void |
stop()
Util: stdout printing. |
private void |
warn(java.lang.String s)
Util: stdout printing. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
private static SessionManager instance
private java.util.Timer timer
private final long TIMER_INTERVAL_MILLIS
private java.util.Map sessions
private Session[] sessionCache
private volatile boolean sessionCacheDirty
| Constructor Detail |
protected SessionManager()
| Method Detail |
public Session createSession(Event anEvent)
throws PushletException
PushletExceptionpublic java.lang.String createSessionId()
public static SessionManager getInstance()
public Session getSession(java.lang.String anId)
public Session[] getSessions()
public int getSessionCount()
public java.lang.String getStatus()
public boolean hasSession(java.lang.String anId)
public void addSession(Session session)
public Session removeSession(Session aSession)
public Session[] getSnapshot()
public void start()
public void stop()
private void info(java.lang.String s)
private void warn(java.lang.String s)
private void debug(java.lang.String s)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||