Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P02
-
Fix Version/s: EE-4.2.0.GA, EE-3.3.0.GA_P05
-
Component/s: Framework
-
Labels:None
-
Environment:jsf 2 icefaces-ee-3.3.0.GA_P02-hsdg-12
-
Assignee Priority:P1
-
Support Case References:
Description
Customer is using patched version of P02.
The attached beans and xhtml page need to be added to @WIndowDisposed test to be used with profiler to show additional instances of @ViewScoped Beans that are being created when used in this manner.
See attached PDF that explains the problem and how to reproduce with these beans and xhtml page.
The attached beans and xhtml page need to be added to @WIndowDisposed test to be used with profiler to show additional instances of @ViewScoped Beans that are being created when used in this manner.
See attached PDF that explains the problem and how to reproduce with these beans and xhtml page.
Activity
Judy Guglielmin
created issue -
Judy Guglielmin
made changes -
Field | Original Value | New Value |
---|---|---|
Attachment | SetActiveViewMapsSizeSessionListener.java [ 22498 ] | |
Attachment | ViewBean.java [ 22499 ] | |
Attachment | viewScopeWindowTest.xhtml [ 22500 ] | |
Attachment | WindowsGlobalCounter.java [ 22501 ] | |
Attachment | JSF_ViewBeansMap_issue_when_WindowDisposed_used.pdf [ 22502 ] |
Judy Guglielmin
made changes -
Assignee | Mircea Toma [ mircea.toma ] |
Ken Fyten
made changes -
Assignee Priority | P1 [ 10010 ] |
Repository | Revision | Date | User | Message |
ICEsoft Public SVN Repository | #51433 | Tue Apr 18 15:49:33 MDT 2017 | mircea.toma | |
Files Changed | ||||
MODIFY
/icefaces4/trunk/icefaces/core/src/main/java/org/icefaces/util/EnvUtils.java
|
Mircea Toma
made changes -
Status | Open [ 1 ] | Resolved [ 5 ] |
Resolution | Fixed [ 1 ] |
Ken Fyten
made changes -
Fix Version/s | EE-4.2.0.GA [ 13071 ] | |
Fix Version/s | EE-3.3.0.GA_P05 [ 13082 ] |
Ken Fyten
made changes -
Status | Resolved [ 5 ] | Closed [ 6 ] |
Okay, there are two issues here.
The first issue is still triggered by JSF/Mojarra, when a ViewExpiredException is thrown (for a request that targets a discarded view). Mojarra is rendering a debug page to show what when wrong but doing so it will evaluate the EL expressions found in the page which in turn will trigger the creation of the beans referenced by the EL expressions.
The debug page is not used when the application runs in Production mode so the beans are not instantiated anymore on ViewExpiredException.
The second issue is in ICEfaces code. In EnvUtils.isICEfacesView method the view map is accessed with ViewRoot.getViewMap() which will create a new view map if one is missing for the current request. This behavior together with our dispose-window request issued on page close would generate a view that was never used.
The applied fix was to modify EnvUtils.isICEfacesView method to avoid creating a new view (and an associated view map) during a post-back.