ICEfaces
  1. ICEfaces
  2. ICE-4793

ICEfaces 2.0 lazy push initialization

    Details

    • Type: New Feature New Feature
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Alpha1
    • Fix Version/s: 2.0-Alpha3, 2.0.0
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2.0

      Description


      The current mechanism of specifying com.icesoft.faces.synchronousUpdate true/false per web application is too coarse: if push interaction is not required during a certain phase of the application, the blocking connection should not be established.

      To optimize this, the blocking connection should be established only when needed: only when the current view has been added to a render group and is capable of receiving push updates.

      For instance, if PushRender.addCurrentSession() is called prior to page rendering, the bridge must subsequently be configured to initiate the blocking connection for that user.

      If a session has been added to a render group, in order to shutdown the blocking connection when not needed, the session will be removed from the render group when all active views have been closed. Therefore, the application must add each view prior to rendering (this is a common application practice since views are typically added independently).

      This can be configured:

      org.icefaces.push.establish="lazy"|always"|"never" ("lazy" is the default)

      With "lazy" initialization, the push connection is established only when a given session or view has been added to a render group. With "always" establishment and "never" establishment, the behavior is the same as synchronousUpdate "false" and "true" respectively.

        Issue Links

          Activity

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Ted Goddard
            • Votes:
              1 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: