Java: Pourquoi la session http n'est pas détruite quand l'onglet ou le navigateur est fermé?

J'ai la suite de la mise en œuvre de HttpSessionlistener

public class SessionListener implements HttpSessionAttributeListener, HttpSessionListener {


public void attributeAdded(HttpSessionBindingEvent event) {
   ...

}


public void attributeRemoved(HttpSessionBindingEvent event) {

    ...
}

public void attributeReplaced(HttpSessionBindingEvent event) {

}

//HttpSesion creation & destruction
public void sessionCreated(HttpSessionEvent event) {
    HttpSession session = event.getSession();
    //log created time


}

public void sessionDestroyed(HttpSessionEvent event) {
    HttpSession session = event.getSession();
    long destroyedTime = System.currentTimeMillis();
    //log destroyed time

}

}

En fait je le connecter à la session de la création et de la destruction du temps.
Mais si la session est longue (par défaut à 30 minutes), et que l'utilisateur ferme le navigateur pendant ce temps, le

sessionDestroyed 

n'est pas appelé ?

Pourquoi est-ce ?
Est-il une solution pour ouvrir une session exactement la lorsque la session a été détruit (lorsque l'utilisateur ferme le navigateur)? Ne doivent pas être cet être le navigateur du problème, pour tuer la session quand il est fermé ?

Est-il de l'interface que j'ai à mettre en œuvre pour que cela fonctionne ?

Merci !

source d'informationauteur Flueras Bogdan