Package org.itsnat.impl.core.servlet.http

Source Code of org.itsnat.impl.core.servlet.http.ItsNatHttpSessionCleanListenerImpl

/*
  ItsNat Java Web Application Framework
  Copyright (C) 2007-2011 Jose Maria Arranz Santamaria, Spanish citizen

  This software is free software; you can redistribute it and/or modify it
  under the terms of the GNU Lesser General Public License as
  published by the Free Software Foundation; either version 3 of
  the License, or (at your option) any later version.
  This software is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  Lesser General Public License for more details. You should have received
  a copy of the GNU Lesser General Public License along with this program.
  If not, see <http://www.gnu.org/licenses/>.
*/


package org.itsnat.impl.core.servlet.http;

import java.io.Serializable;
import javax.servlet.http.HttpSession;
import javax.servlet.http.HttpSessionBindingEvent;
import javax.servlet.http.HttpSessionBindingListener;
import org.itsnat.core.ItsNatBoot;
import org.itsnat.impl.core.ItsNatImpl;
import org.itsnat.impl.core.servlet.ItsNatServletContextImpl;
import org.itsnat.impl.core.servlet.ItsNatSessionImpl;

/**
*
* @author jmarranz
*/
public class ItsNatHttpSessionCleanListenerImpl implements HttpSessionBindingListener,Serializable
{
    public static final long serialVersionUID = 1L; // ��NO CAMBIAR!!

    public ItsNatHttpSessionCleanListenerImpl()
    {
    }

    public void valueBound(HttpSessionBindingEvent event)
    {
    }

    public void valueUnbound(HttpSessionBindingEvent event)
    {
        // Cuando la sesi�n se elimina es llamado este m�todo para los atributos
        // cuyo valor implementa HttpSessionBindingListener (como este objeto)
        // pues lo normal es invalidar antes la sesi�n llamando a invalidate()
        // el cual seg�n el est�ndar desvincula antes los atributos.
        // Permite liberar la sesi�n en los maps del ItsNatServletContext

        HttpSession session = event.getSession();

        ItsNatImpl itsNat = (ItsNatImpl)ItsNatBoot.get();
        ItsNatServletContextImpl itsNatContext = itsNat.getItsNatServletContext(session.getServletContext());

        ItsNatSessionImpl itsNatSession = itsNatContext.getItsNatSessionByStandardId(session.getId());
        if (itsNatSession == null) return; // Por si acaso
        itsNatSession.destroy();
    }

}
TOP

Related Classes of org.itsnat.impl.core.servlet.http.ItsNatHttpSessionCleanListenerImpl

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.