2017-02-08 5 views
0

Я хотел бы сохранить информацию о моих зарегистрированных пользователях, доступных в моем webapp; поэтому, например, я передаю идентификатор SessionListener.sessionAdded в ServerMessage и использую идентификатор для загрузки информации о пользователе в постоянный хеш.нужна информация в BayeuxServer.Session Listener

Аналогично, когда сеанс уничтожен, я хотел бы удалить информацию о клиенте из хеша при вызове SessionListener.sessionRemoved. Однако сообщения нет. Могу ли я использовать ServerSession.getUserAgent(), и какова строка, которую он возвращает?

Или, есть ли один сеансовый сеанс в сеансе, чтобы я мог локально сохранять электронную почту в SessionListener для использования при вызове sessionRemoved?

ответ

0

У вас есть 2 варианта.

С атрибут сеанса:

class MySessionListener implements BayeuxServer.SessionListener { 
    public void sessionAdded(ServerSession session, ServerMessage message) { 
     session.setAttribute("token", message.getDataAsMap().get("token")); 
    } 
    public void sessionRemoved(ServerSession session, boolean timedout) { 
     String token = (String)session.getAttribute("token"); 
     // Use the token here. 
    } 
} 

или с RemoveListener:

class MySessionListener implements BayeuxServer.SessionListener { 
    public void sessionAdded(ServerSession session, ServerMessage message) { 
     final String token = (String)message.getDataAsMap().get("token"); 
     session.addListener(new RemoveListener() { 
      public void removed(ServerSession session, boolean timeout) { 
       // Use token here. 
      } 
     }); 
    } 
    public void sessionRemoved(ServerSession session, boolean timedout) { 
     // Nothing to do here. 
    } 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^