Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-2.0.0.GA, 3.0.1
-
Fix Version/s: 3.1.0.BETA1, 3.1, EE-3.0.0.GA_P01
-
Component/s: Framework
-
Labels:None
-
Environment:ICEfaces
Description
A dispose-window message is sent when a window is closed and when sending the message would clean up window-specific resources on the server. For instance, if WindowScoped or ViewScoped @WindowDisposed beans are present, the dispose-window message should be sent. Otherwise, it is not necessary to send the message, and this is configured automatically through the sendDisposeWindow bridge configuration parameter.
However, there are several cases that need to be detected accurately:
- WindowScope nonempty always requires sendDisposeWindow
- ViewScope nonempty requires sendDisposeWindow only if @ViewDisposed beans are present
- ViewScope not containing @ViewDisposed should not run the JSF lifecycle during dispose-window handling
- beans may be instantiated after HtmlForm PostAddToViewEvent which complicates BridgeSetup implementation
However, there are several cases that need to be detected accurately:
- WindowScope nonempty always requires sendDisposeWindow
- ViewScope nonempty requires sendDisposeWindow only if @ViewDisposed beans are present
- ViewScope not containing @ViewDisposed should not run the JSF lifecycle during dispose-window handling
- beans may be instantiated after HtmlForm PostAddToViewEvent which complicates BridgeSetup implementation
Previous implementation of BridgeSetup may have been calculating values prior to rendering; as a <body> resource, this is now calculated late in page rendering so all possible beans should be in the ViewMap by that time.