Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Fixed
-
2.0.1-core
-
None
Description
Stevan Malesevic found that the token cache is pinning the session map.
com.sun.faces.context.ExternalContextImpl will create a instance of com.sun.faces.context.SessionMap on every request. SessionMap points to
Request object. However this is per request so it is not carried over between requests. Now, the reason why we always have request object pined between requests is Trinidad code TokenCache which pins the owner (SessionMap) which would otherwise be gc-ed. From what I can see
Trinidad code can be changed to always get extContext.getSessionMap() instead pinning it permanently. This will make sure we are not pinning Request object and all its attributes in between requests.