Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1070 → Rev 1071

/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionBug.java
0,0 → 1,19
package ak.hostadmiral.servlet.sessioncontrol;
 
import java.io.Serializable;
import javax.servlet.http.HttpSessionActivationListener;
import javax.servlet.http.HttpSessionEvent;
 
public final class SessionBug
implements HttpSessionActivationListener, Serializable
{
public void sessionDidActivate(HttpSessionEvent se)
{
SessionControl.getInstance().addSession(se.getSession());
}
 
public void sessionWillPassivate(HttpSessionEvent se)
{
SessionControl.getInstance().removeSession(se.getSession());
}
}
/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionControl.java
0,0 → 1,41
package ak.hostadmiral.servlet.sessioncontrol;
 
import java.util.Collections;
import java.util.Collection;
import java.util.HashSet;
 
import javax.servlet.http.HttpSession;
 
import org.apache.log4j.Logger;
 
public final class SessionControl
{
private static final Logger logger = Logger.getLogger(SessionControl.class);
 
protected Collection sessions = new HashSet(); // Collection(HttpSession)
 
public void addSession(HttpSession s)
{
logger.info("session added " + s.getId());
sessions.add(s);
s.setAttribute(SessionBug.class.getName(), new SessionBug());
}
 
public void removeSession(HttpSession s)
{
logger.info("session removed " + s.getId());
sessions.remove(s);
}
 
public Collection getSessions()
{
return Collections.unmodifiableCollection(sessions);
}
 
private static SessionControl sessionControl = new SessionControl();
 
public static SessionControl getInstance()
{
return sessionControl;
}
}
/hostadmiral/trunk/src/ak/hostadmiral/servlet/sessioncontrol/SessionObserver.java
0,0 → 1,18
package ak.hostadmiral.servlet.sessioncontrol;
 
import javax.servlet.http.HttpSessionListener;
import javax.servlet.http.HttpSessionEvent;
 
public final class SessionObserver
implements HttpSessionListener
{
public void sessionCreated(HttpSessionEvent se)
{
SessionControl.getInstance().addSession(se.getSession());
}
 
public void sessionDestroyed(HttpSessionEvent se)
{
SessionControl.getInstance().removeSession(se.getSession());
}
}