Announcement

Collapse
No announcement yet.

HttpSessionActivationListener

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • HttpSessionActivationListener

    Hallo Liste,

    ich halte mir mit einem statischer Hashtable daten aller Sessions im Context. Beim kreieren einer Session füge ich einen Eintrag in der Hashtable dazu.

    So weit so gut, aber wenn ich den Context neu lade, dann werden beim herunterfahren (per def) alle Sessionobjekte (so weit serialisierbar) im Dateisystem des Webservers persistenziert (undeutsch!). Wenn der Context dann geladen wird werden alle Sessions wieder hergestellt.
    Aber der sessionCreated Event wird nicht mehr gefeuert und in meiner Hashtable fehlt die Session.

    Ich habe dann auch noch das HttpSessionActivationListener Interface implementiert und erwartet, daß der sessionDidActivate Event beim laden des Contexts gefeuert wird.

    Dies ist aber nicht der Fall!

    Der Code sieht so (ähnlich) aus:
    <PRE>
    import javax.servlet.*;
    import javax.servlet.http.*;

    public class SessionListener implements HttpSessionListener,HttpSessionActivationListener {

    /** Creates a new instance of SessionListener */
    public SessionListener() {
    }

    public void sessionDestroyed(javax.servlet.http.HttpSessionEve nt httpSessionEvent)
    {
    }

    public void sessionCreated(javax.servlet.http.HttpSessionEvent httpSessionEvent)
    {
    }

    public void sessionDidActivate(javax.servlet.http.HttpSessionE vent httpSessionEvent) {

    System.out.println("sessionDidActivate");

    }

    public void sessionWillPassivate(javax.servlet.http.HttpSessio nEvent httpSessionEvent) {
    System.out.println("sessionWillPassivate");
    }

    }
    </PRE>

    in der web.xml
    <PRE>
    <listener>
    <listener-class>SessionListener</listener-class>
    </listener>
    </PRE>

    Irgend einen Tip?

    Danke Dietmar
Working...
X