SessionListener implements HttpSessionListener, HttpSessionActivationListener,
		ServletContextListener, Serializable { void registerSessionIfNeeded(HttpSession session) { if (session != null) { synchronized (session) { if (!SESSION_MAP_BY_ID.containsKey(session.getId())) { sessionCreated(new HttpSessionEvent(session)); } } } } SessionListener();  SessionListener(boolean instanceEnabled); static int getSessionCount(); static long getSessionAgeSum(); static void invalidateAllSessionsExceptCurrentSession(HttpSession currentSession); static void invalidateSession(String sessionId); static List<SessionInformations> getAllSessionsInformations(); static void sortSessions(List<SessionInformations> sessionsInformations); static SessionInformations getSessionInformationsBySessionId(String sessionId); static void bindSession(HttpSession session); static HttpSession getCurrentSession(); static void unbindSession(); @Override void contextInitialized(ServletContextEvent event); @Override void contextDestroyed(ServletContextEvent event); @Override void sessionCreated(HttpSessionEvent event); @Override void sessionDestroyed(HttpSessionEvent event); @Override void sessionDidActivate(HttpSessionEvent event); @Override void sessionWillPassivate(HttpSessionEvent event); @Override String toString(); static final String CSRF_TOKEN_SESSION_NAME; static final String SESSION_COUNTRY_KEY; static final String SESSION_REMOTE_ADDR; static final String SESSION_REMOTE_USER; static final String SESSION_USER_AGENT; }
@Test public void registerSessionIfNeeded() { final HttpSession session = createSession(); sessionListener.registerSessionIfNeeded(session); sessionListener.registerSessionIfNeeded(session); sessionListener.registerSessionIfNeeded(null); sessionListener.unregisterInvalidatedSessions(); sessionListener.unregisterSessionIfNeeded(session); sessionListener.unregisterSessionIfNeeded(session); sessionListener.unregisterSessionIfNeeded(null); }