ICEfaces
  1. ICEfaces
  2. ICE-7837

Add code in the disposeWindow() method to handle requests outside of ICEfaces

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Minor Minor
    • Resolution: Fixed
    • Affects Version/s: 3.0, EE-3.0.0.BETA
    • Fix Version/s: 3.2
    • Component/s: Framework
    • Labels:
      None
    • Environment:
      All

      Description

      Scenario from customer:

      "We use remoting to access some of our services in our application. In some authentication scenarios, a session is created and invalidated for each remoting call. This does not involve JSF in any way but ICEfaces does register a SessionExpiredListener that fires up when session activity occurs and, in particular, when the session is invalidated.

      This is where we hit a problem. This triggers a call to the SessionExpiredListener.sessionDestroyed() in icefaces-3.0.0.jar which, in turn, calls WindowScopeManager.disposeWindow(). There, we try to get a session attribute which turns out to be null (my guess: because no UI was involved in the remote call made). The next two calls to notifyPreDestroyForAll() do not seem to anticipate that the variable state can be null and therefore fails.

      I think that the code should be adjusted to make the disposeWindows method handle cases where requests are not coming from the ICEfaces UI. The application keeps working but the following gets logged each time a remoting call is made because of this:
      2012-02-22 11:12:30:736 WARNING 'An exception occurred while trying to invoke @PreDestroy on window scoped beans: null' org.icefaces.impl.application.SessionExpiredListener sessionDestroyed"

        Activity

        There are no subversion log entries for this issue yet.

          People

          • Assignee:
            Ken Fyten
            Reporter:
            Arran Mccullough
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: