ICEfaces
  1. ICEfaces
  2. ICE-6005

Detect and implement session expiry notification

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 2.0-Beta1
    • Fix Version/s: 2.0-Beta2, 2.0.0
    • Component/s: Bridge, Framework
    • Labels:
      None
    • Environment:
      ICEfaces 2.0

      Description

      With a stock Mojarra application, when a session expires there are different behaviours depending on how the session expiry was triggered and whether or not Ajax and ICEfaces are involved. More detailed information is available in http://jira.icefaces.org/browse/ICE-5997.

      In any event, most session expiration ends up triggering a ViewExpiredException. It would be better to handle actual session expiration in a more explicit way. This involves accurately determining when a session expiry has occurred and then allowing that information to be handled by the server and/or client as appropriate.

        Issue Links

          Activity

          Hide
          Deryk Sinotte added a comment -

          We likely need a custom ExceptionHandler for proper handling of session expiry exceptions.

          Show
          Deryk Sinotte added a comment - We likely need a custom ExceptionHandler for proper handling of session expiry exceptions.
          Hide
          Deryk Sinotte added a comment -

          I added a custom ExceptionHandler to help turn ViewExpiryExceptions into SessionExpiredExceptions when a view can't be found during the Restore View phase - this is typically because the session is either invalid or new.

          I also tweaked the existing logic around using push and the resource handler to use the SessionTimeoutListener that we already had to invalidate the session and use Push if it's available. This puts the code in a more logical place and we now see, if ICEpush is running, Session Expired messages pushed to all views of that session.

          Show
          Deryk Sinotte added a comment - I added a custom ExceptionHandler to help turn ViewExpiryExceptions into SessionExpiredExceptions when a view can't be found during the Restore View phase - this is typically because the session is either invalid or new. I also tweaked the existing logic around using push and the resource handler to use the SessionTimeoutListener that we already had to invalidate the session and use Push if it's available. This puts the code in a more logical place and we now see, if ICEpush is running, Session Expired messages pushed to all views of that session.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: