Details
Description
The window ID is generated on the server but the active portlets in the window do not share the same window ID. This causes unnecessary DOM diffs and possibly the malfunction of the window scope. In the past we discussed about this issue, one possible solution would be to let each portlet assign its own window ID and then send a list of window IDs during dispose-window request. Each portlet will then match only the window ID it knows about and dispose the corresponding scope.
Use of a ThreadLocal may provide isolation between simultaneous requests. The ThreadLocal should contain the Session ID to prevent collisions when a thread is later used to handle a request for a different session.