- 01
 - 02
 - 03
 - 04
 - 05
 - 06
 - 07
 - 08
 - 09
 - 10
 - 11
 - 12
 - 13
 
                        private static java.util.Hashtable<String, Session> sessions =
    new java.util.Hashtable<String, Session>();
...
public static SessionOperations[] getSessions() {
    int cnt = sessions.size();
    SessionOperations[] res = new SessionOperations[cnt];
    java.util.Enumeration<String> e = sessions.keys();
    for( int i = 0; i < res.length; i++ ) {
      String sid = e.nextElement();
      res[i] = sessions.get( sid ).getOperations( sid );
    }
    return res;
}
                                 
        
            Удаление из sessions между получением размера и набора ключей приводит к весьма печальным последствиям...
P.S. В результате в течение трех суток в production не удалялись оставленные сессии (без Logout), sessions отожрал 600М и всё свалилось с OOM.
        
        
Комментарии (4) RSS
Добавить комментарий