Details
-
Type:
Bug
-
Status: Closed
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: EE-1.8.2.GA_P05
-
Fix Version/s: EE-1.8.2.GA_P06
-
Component/s: None
-
Labels:None
-
Environment:icefaces-1.8.2 revision 32630 from trunk, tomcat 6.0.32, jdk 1.6_027
-
Assignee Priority:P2
Description
SessionDispatcher do not remove invalidated sessions from Map.
In worst case users notice thousands of unused session objects (some old Jira issues I saw here).
I attached file SessionDispatcher.java with additional logger messages.
Test case.
Prepare app with form-login for basic authentication and logout button.
If you logon and logout few times 'Session Monitor session count' grows and many 'session already invalidated' messages occurs every 10 seconds..
The main reason is line:
iterator = new ArrayList(SessionMonitors.values()).iterator();
Session cleaner do not clean correct list.
After change to
iterator = SessionMonitors.values().iterator();
everything seems to be ok and sessions are removed.
In worst case users notice thousands of unused session objects (some old Jira issues I saw here).
I attached file SessionDispatcher.java with additional logger messages.
Test case.
Prepare app with form-login for basic authentication and logout button.
If you logon and logout few times 'Session Monitor session count' grows and many 'session already invalidated' messages occurs every 10 seconds..
The main reason is line:
iterator = new ArrayList(SessionMonitors.values()).iterator();
Session cleaner do not clean correct list.
After change to
iterator = SessionMonitors.values().iterator();
everything seems to be ok and sessions are removed.
Patched SessionDispatcher.