4 Replies Latest reply on Feb 17, 2016 7:32 AM by Adrien Adrien

    [wildfly 9.02 undertow] "bad ref" on httpsession wrong equals on httpsession

    Adrien Adrien Apprentice


      I've a HttpSessionListener and the HttpSession passed on created and destroy aren't the same and equals don't works .

      sessionOnCreated.equals(sessionOnDestroy) == false

      sessionCreated {}  io.undertow.servlet.spec.HttpSessionImpl@39f87f

      sessionDestroyed{}  io.undertow.servlet.spec.HttpSessionImpl@973b68


      it need to look the sessionId .

      I thing it s a bug if you are agree...





      import java.io.Serializable;

      import java.util.ArrayList;

      import java.util.Collection;

      import java.util.Date;

      import java.util.Iterator;

      import java.util.List;

      import java.util.Map;

      import java.util.Map.Entry;

      import java.util.Set;

      import java.util.Vector;



      import javax.servlet.http.HttpSession;

      import javax.servlet.http.HttpSessionEvent;

      import javax.servlet.http.HttpSessionListener;



      import org.slf4j.Logger;

      import org.slf4j.LoggerFactory;




      public class SessionCounterCleaner implements HttpSessionListener,Serializable {

        private static transient Logger log = LoggerFactory.getLogger(SessionCounterCleaner.class);

        final Vector<HttpSession> sessions=new Vector<HttpSession>(100);

        public SessionCounterCleaner() {




        public void sessionCreated(HttpSessionEvent e) {

        if (log.isDebugEnabled()) {

        log.debug("session createad (HttpSessionEvent e)"+e);









        public void sessionDestroyed(HttpSessionEvent e) {

        for (int i = 0; i < 5; i++) {

        log.error("xxsessionDestroyed{}  "+e.getSession());








        public  void sessionDestroy(final HttpSession session) {

        if (log.isDebugEnabled()) {




      boolean destroyed =sessions.remove(session);


        int sessSize=sessions.size();

        for (int i = 0; i < 50; i++) {

        log.error("ARRRRRRG !!"+session);