/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()); |
} |
} |