ICEfaces
  1. ICEfaces
  2. ICE-1534

Server side leak of auctionMonitor clock bean threads

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.6DR#1, 1.6DR#2, 1.6DR#3
    • Fix Version/s: 1.6DR#4, 1.6
    • Component/s: Sample Apps
    • Labels:
      None
    • Environment:
      Browser and OS independent.
    • Affects:
      Sample App./Tutorial

      Description

      This issue has been around for a while, but since it was server side related it wasn't really noticeable.
      Basically, the ClockBean (which controls the IntervalRenderer for each user) would be created for a new session. The problem is when the user closed their browser, the ClockBean relied on renderingExceptions to clean itself up, which was unreliable and prone to leaving dead threads hanging around, which would cause a gradual memory leak.

        Activity

        Repository Revision Date User Message
        ICEsoft Public SVN Repository #13774 Thu May 03 15:54:12 MDT 2007 carlo.guglielmin ICE-1534 - added a ViewListener to the ClockBean, so that the viewDisposed method can be used to cleanup the IntervalRenderer instead of leaving dead threads hanging around
        Files Changed
        Commit graph MODIFY /icefaces/trunk/icefaces/samples/auctionMonitor/src/com/icesoft/applications/faces/auctionMonitor/beans/ClockBean.java
        Carlo Guglielmin created issue -
        Carlo Guglielmin made changes -
        Field Original Value New Value
        Assignee Carlo Guglielmin [ carlo.guglielmin ]
        Hide
        Carlo Guglielmin added a comment -

        With the addition of a ViewListener class and a tie in to the PersistentFacesState, it was possible to reliably clean up the ClockBean for each user.
        The ClockBean now implements ViewListener and the associated viewCreated and viewDisposed methods. In viewDisposed the IntervalRenderer for the session will be stopped, the renderable bean removed, and then disposed. This proper cleanup when a user closes their browser will stop the gradual server side memory leak.

        Show
        Carlo Guglielmin added a comment - With the addition of a ViewListener class and a tie in to the PersistentFacesState, it was possible to reliably clean up the ClockBean for each user. The ClockBean now implements ViewListener and the associated viewCreated and viewDisposed methods. In viewDisposed the IntervalRenderer for the session will be stopped, the renderable bean removed, and then disposed. This proper cleanup when a user closes their browser will stop the gradual server side memory leak.
        Carlo Guglielmin made changes -
        Status Open [ 1 ] Resolved [ 5 ]
        Fix Version/s 1.6DR#4 [ 10060 ]
        Affects [Sample App./Tutorial]
        Resolution Fixed [ 1 ]
        Ken Fyten made changes -
        Fix Version/s 1.6 [ 10031 ]
        Ken Fyten made changes -
        Status Resolved [ 5 ] Closed [ 6 ]
        Assignee Carlo Guglielmin [ carlo.guglielmin ]

          People

          • Assignee:
            Unassigned
            Reporter:
            Carlo Guglielmin
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: