Details

    • Type: Bug Bug
    • 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


      Notification of session expiry is a useful feature in ICEfaces 1.x and should be incorporated into ICEfaces 2.0.

        Activity

        Hide
        Ted Goddard added a comment -

        Detecting session shutdown is possible through standard Servlet listeners.

        An application may require notification of session shutdown, but may not require other push features. Push notification of session shutdown could be activated by the connection status component itself.

        If a notification is received, but the session has expired, it is likely that the "refresh" phase will result in a View Expired exception. It should be possible to detect whether a session was newly created at this point to augment the View Expired and display it as a session expired to the user (it is not clear that a user will find a useful distinction between View Expired and Session Expired, however).

        Show
        Ted Goddard added a comment - Detecting session shutdown is possible through standard Servlet listeners. An application may require notification of session shutdown, but may not require other push features. Push notification of session shutdown could be activated by the connection status component itself. If a notification is received, but the session has expired, it is likely that the "refresh" phase will result in a View Expired exception. It should be possible to detect whether a session was newly created at this point to augment the View Expired and display it as a session expired to the user (it is not clear that a user will find a useful distinction between View Expired and Session Expired, however).
        Hide
        Deryk Sinotte added a comment -

        First step is to discuss this further to see what the current behaviour is and then discuss how we want to solve it. Ideally, we'd like to provide a sensible default behaviour but also expose a mechanism that application developers can use themselves so that they can handle session expiry in a way that meets their requirements.

        Show
        Deryk Sinotte added a comment - First step is to discuss this further to see what the current behaviour is and then discuss how we want to solve it. Ideally, we'd like to provide a sensible default behaviour but also expose a mechanism that application developers can use themselves so that they can handle session expiry in a way that meets their requirements.
        Hide
        Mircea Toma added a comment -

        The session expiry notification uses pushIds created for each window. These pushIds are put into a group that will be used to push the session expiry notification to all the browser window.
        On the client side the ice.push.register callback will invoke all the listeners registered with ice.onSessionExpired function. Also the callback will de-register the pushIds thus disabling the blocking connection.

        Show
        Mircea Toma added a comment - The session expiry notification uses pushIds created for each window. These pushIds are put into a group that will be used to push the session expiry notification to all the browser window. On the client side the ice.push.register callback will invoke all the listeners registered with ice.onSessionExpired function. Also the callback will de-register the pushIds thus disabling the blocking connection.

          People

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

            Dates

            • Created:
              Updated:
              Resolved: