Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > SessionListener, attributeRemoved проблемы.


Автор: Opik 17.5.2006, 13:51
В SessionListener'e есть метод:
Код

    public void attributeRemoved(HttpSessionBindingEvent hsbe)
    {
        String name = hsbe.getName();
        if(name.equals("nickname"))
        {
                              String nickname = (String)hsbe.getValue();
                         if (nickname != null)
             {                                
                              ChatterList.removeChatter(nickname);
                  System.err.println("removed chatter " + nickname);
             }
        }
    }


В лог идут 2 записи (при 2 ух юзерах онлайн, и у одного должна кончится сессия , например вышел из браузера):
Цитата

removed chatter Cruel
removed chatter Opik


Т.е второй вылетает автоматом, непонятно почему, сессия должна держаться... или я что то не так делаю? 

Автор: batigoal 17.5.2006, 13:55
А в какой момент там появляются эти записи? 

Автор: Opik 17.5.2006, 14:01
Lamer George, 
Когда должна умереть сессия у второго юзера (который вышел) 

Автор: batigoal 17.5.2006, 14:16
Так ты обоими юзерами заходишь с одной и той же машины? 

Автор: Opik 17.5.2006, 14:20
Lamer George, 
да 

Автор: batigoal 17.5.2006, 14:25
Тогда получается следующий сценарий:

1) Юзер 1 заходит на сайт, получает SessionID
2) Юзер 2 заходит на сайт, получает SessionID, такой же, как у первого (т.к. они отсылают с запросом одинаковые куки)
3) Юзер 1 уходит с сайта.
4) Проходит некоторый таймаут. Если за это время юзер 2 не подаст признаков жизни, то сессия с номером SessionID считается умершей. 

Автор: Opik 17.5.2006, 14:28
Lamer George
Как они могут посылать одинаковые куки. если браузера разные? (IE, FF) 

Автор: batigoal 17.5.2006, 14:43
Цитата(Opik @  17.5.2006,  15:28 Найти цитируемый пост)
Как они могут посылать одинаковые куки. если браузера разные? (IE, FF)  

Тогда, по идее, не должны.

Попробуй провести эксперимент с разных компов. 

Автор: Opik 17.5.2006, 14:49
Lamer George, 
окей, это попробую.
Со стороны кода всё окей?

Добавлено @ 15:00 
Lamer George, 
Действительно, с разных компов - всё ок.
Получается, что в любых бразуеров, но на одном компе - одинаковый идентификатор сессии? 

Автор: batigoal 17.5.2006, 15:04
Цитата(Opik @  17.5.2006,  15:49 Найти цитируемый пост)
Получается, что в любых бразуеров, но на одном компе - одинаковый идентификатор сессии?  

Я думаю, что не совсем с любых. Можно попробовать еще с Оперой. 

Автор: Opik 17.5.2006, 15:23
Lamer George, 
Ты опять прав smile
С оперой такого не наблюдается.  

Автор: ALKS 17.5.2006, 15:29
скорее всего кто-то считает себя слишком умным. и этот кто-то - FF. он умеет похоже сесси IE находить, гад... 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)