ICEfaces
  1. ICEfaces
  2. ICE-556

Request-scoped bean remain in memory until the session expires

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6
    • Fix Version/s: 1.6DR#4, 1.6
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      Operating System: All
      Platform: All

      Description

      If you run a plain JSF application that has request-scoped beans, the beans are
      garbage collected when the request is done. If you run the same application
      with ICEfaces, request-scoped beans remain in memory until the session expires.

        Activity

        Hide
        Ted Goddard added a comment -

        There are at least two ways of improving the situation regarding this bug:

        • use a conversation scope (from, say, Seam)
        • detect browser window closing at the server and clean out requests corresponding to closed windows
        Show
        Ted Goddard added a comment - There are at least two ways of improving the situation regarding this bug: use a conversation scope (from, say, Seam) detect browser window closing at the server and clean out requests corresponding to closed windows
        Hide
        Ted Goddard added a comment -

        As a first step we should look at how to propagate window closing events to the server. If window closing cannot be reliably propagated over the network at the moment of window closing, we may want to accumulate viewNumbers of closed windows in a cookie to propagate the closing event on the next exchange. (This may also present complications, however, as the browser will allow the user to close many windows simultaneously, and it may be difficult to update the cookie coherently.)

        Ultimately, viewNumbers with unretrieved updates should be garbage collected.

        Show
        Ted Goddard added a comment - As a first step we should look at how to propagate window closing events to the server. If window closing cannot be reliably propagated over the network at the moment of window closing, we may want to accumulate viewNumbers of closed windows in a cookie to propagate the closing event on the next exchange. (This may also present complications, however, as the browser will allow the user to close many windows simultaneously, and it may be difficult to update the cookie coherently.) Ultimately, viewNumbers with unretrieved updates should be garbage collected.
        Hide
        Mircea Toma added a comment -

        Detect when browser windows are closed and disposed included views. Also, invoke listener to give a chance to applications to free up resources (such as connection, threads...).

        Show
        Mircea Toma added a comment - Detect when browser windows are closed and disposed included views. Also, invoke listener to give a chance to applications to free up resources (such as connection, threads...).
        Hide
        Alok Mittal added a comment -

        This bug has been marked as fixed in 1.6DR#4. Can you please provide more information on the fix? I believe the issue still exists with 1.6DR#5. Does it require any specific configuration?

        Show
        Alok Mittal added a comment - This bug has been marked as fixed in 1.6DR#4. Can you please provide more information on the fix? I believe the issue still exists with 1.6DR#5. Does it require any specific configuration?
        Hide
        Victor Jimenez added a comment -

        look like this is still hapening in the portlet version, request scope beans acts like session scope beans

        Show
        Victor Jimenez added a comment - look like this is still hapening in the portlet version, request scope beans acts like session scope beans

          People

          • Assignee:
            Unassigned
            Reporter:
            Deryk Sinotte
          • Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: