* addCallbackToSession
* @param s Session
* @param callback ICallback
*/
public void addCallbackToSession(Session s, ICallback callback)
{
if (callback != null && s != null)
{
if (s.getSessionTimeout() != 0)
{
sessionTime = s.getSessionTimeout();
}
Timeout t = timer.newTimeout(new SessionTimeoutHandler(this, callback, s), sessionTime, TimeUnit.SECONDS);
this.timerMap.put(s.getId(), t);
}
}
/**
* 删除一个Session (如果这个Session在创建的时候指定了callback,这里会删除定时器)
* @param id sessionId
* @return 要删除的session
* @see [类、类#方法、类#成员]
*/
public Object removeSession(String id)
LOG.debug("Begin to remove session id = {}", id);
final Session s = sessionMap.remove(id);
final Timeout timeout = timerMap.remove(id);
if (null != timeout)
{
timeout.cancel();
}
if (s != null)
{
return s.obj1;
}
else
{
return null;
}
}
public String getStatInfo()
{
return "SessionManager, sessionMap size:" + sessionMap.size() + ", timerMap size:" + timerMap.size();
}
}