ICEfaces
  1. ICEfaces
  2. ICE-4489

Push Server: delay clean-up on ICEfaces ID disposed event

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.8
    • Fix Version/s: 1.8.1
    • Component/s: None
    • Labels:
      None
    • Environment:
      ICEfaces, Push Server

      Description

      Delay the actual clean-up upon receiving the ICEfaces ID disposed event.

        Activity

        Hide
        Jack Van Ooststroom added a comment -

        Changed Fix Version(s) to 1.8.1

        Show
        Jack Van Ooststroom added a comment - Changed Fix Version(s) to 1.8.1
        Hide
        Jack Van Ooststroom added a comment -

        The clean-up of resources associated with the specified ICEfaces ID is now delayed upon receiving of the ICEfaces ID disposed event. Marking this one as FIXED.

        Show
        Jack Van Ooststroom added a comment - The clean-up of resources associated with the specified ICEfaces ID is now delayed upon receiving of the ICEfaces ID disposed event. Marking this one as FIXED.
        Hide
        Jack Van Ooststroom added a comment -

        The implemented delay mechanism uses a freeMap for its administration. Upon receiving an ICEfaces ID Disposed event the ICEfaces ID is added to the freeMap with a current timestamp, but is not actually deleted yet. The logic to determine if an ICEfaces ID is valid changed into if an ICEfaces ID is contained in the sessionMap and not in the freeMap the ICEfaces ID is valid, otherwise it evidently is not. To further explain the implemented delay mechanism is invoked upon receiving any ICEfaces ID Retrieved event. The clean-up logic traverses over the freeMap and actually removes any ICEfaces ID with an associated timestamp equal to or larger than 60 seconds. Synchronization is being used in the appropriated places to avoid possible multi-threading issues.

        Show
        Jack Van Ooststroom added a comment - The implemented delay mechanism uses a freeMap for its administration. Upon receiving an ICEfaces ID Disposed event the ICEfaces ID is added to the freeMap with a current timestamp, but is not actually deleted yet. The logic to determine if an ICEfaces ID is valid changed into if an ICEfaces ID is contained in the sessionMap and not in the freeMap the ICEfaces ID is valid, otherwise it evidently is not. To further explain the implemented delay mechanism is invoked upon receiving any ICEfaces ID Retrieved event. The clean-up logic traverses over the freeMap and actually removes any ICEfaces ID with an associated timestamp equal to or larger than 60 seconds. Synchronization is being used in the appropriated places to avoid possible multi-threading issues.

          People

          • Assignee:
            Jack Van Ooststroom
            Reporter:
            Jack Van Ooststroom
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: