Details
-
Type: Bug
-
Status: Closed
-
Priority: Major
-
Resolution: Fixed
-
Affects Version/s: EE-3.3.0.GA_P03
-
Fix Version/s: 4.1, EE-3.3.0.GA_P04
-
Component/s: Framework
-
Labels:None
-
Environment:jsf2.x ICEfaces3.3 ICEfaces4
-
Assignee Priority:P1
-
ICEsoft Forum Reference:
-
Support Case References:Support Case 13445:- https://icesoft.my.salesforce.com/5007000001Ep8aV?srPos=0&srKp=500
-
Workaround Exists:Yes
-
Workaround Description:use WindowScoped beans with @WindowsDisposed annotation
Description
000 3 00 0000 2015-06-11 11:32:40.529 (JSFExceptionHandler:78) Error code: e3406fd1; Exception: javax.el.PropertyNotFoundException: /xhtml/messageTable.xhtml @15,69 value="#{messageQueuesBean.messageList}": The class 'org.icefaces.impl.application.WindowScopeManager$NOOPBean' does not have the property 'messageList'.
....
same application code was in the Fedex patch for P02, but just changing jars to P03 and this exception is thrown. It appears to only be a problem with ViewScoped beans using @WindowsDisposed. If the customer changes the bean to WindowScoped, then it works fine (survives the redirect).
Please also see the forum reference as a user has the same issue.
-
Hide
- 13455.zip
- 31 kB
- Judy Guglielmin
-
- 13455/.classpath 3 kB
- __MACOSX/13455/._.classpath 0.2 kB
- 13455/.DS_Store 6 kB
- __MACOSX/13455/._.DS_Store 0.1 kB
- 13455/.project 1.0 kB
- __MACOSX/13455/._.project 0.2 kB
- 13455/.settings/.jsdtscope 0.5 kB
- __MACOSX/13455/.settings/._.jsdtscope 0.2 kB
- 13455/.../oracle.eclipse.tools.webtier.ui.prefs 0.6 kB
- __MACOSX/.../._oracle.eclipse.tools.webtier.ui.prefs 0.2 kB
- 13455/.../org.eclipse.jdt.core.prefs 0.3 kB
- __MACOSX/.../._org.eclipse.jdt.core.prefs 0.2 kB
- 13455/.../org.eclipse.wst.common.component 0.4 kB
- __MACOSX/.../._org.eclipse.wst.common.component 0.2 kB
- 13455/.../org.eclipse.wst.common.project.facet.core.prefs.xml 0.3 kB
- __MACOSX/.../._org.eclipse.wst.common.project.facet.core.prefs.xml 0.2 kB
- 13455/.../org.eclipse.wst.common.project.facet.core.xml 0.4 kB
- __MACOSX/.../._org.eclipse.wst.common.project.facet.core.xml 0.2 kB
- 13455/.../org.eclipse.wst.jsdt.ui.superType.container 0.0 kB
- __MACOSX/.../._org.eclipse.wst.jsdt.ui.superType.container 0.2 kB
- 13455/.../org.eclipse.wst.jsdt.ui.superType.name 0.0 kB
- __MACOSX/.../._org.eclipse.wst.jsdt.ui.superType.name 0.2 kB
- __MACOSX/13455/._.settings 0.2 kB
- 13455/build/.../sample/DashboardQueue.class 0.3 kB
- 13455/build/.../DashboardQueueInfo.class 2 kB
- 13455/.../TestBean$DashboardQueueInfo.class 0.7 kB
- 13455/build/.../sample/TestBean.class 2 kB
- 13455/build/.../application.properties 0.2 kB
- 13455/src/com/.../sample/DashboardQueue.java 0.1 kB
- __MACOSX/13455/.../._DashboardQueue.java 0.2 kB
Activity
- All
- Comments
- History
- Activity
- Remote Attachments
- Subversion
Adding the following to this simple test app reproduces the problem.
first go to lftest2.jsf and then click the button on the bottom that says "lftest redirect". The PropertyNotFoundException will be thrown.
NOte that without the context-param of org.icefaces.lazyWindowScope set to false, this works fine. Also it works fine either way in P02. Some regression for lazyWindowScope in P03 perhaps.
Modified WindowScopeManager to discard view scoped beans before restore phase to avoid giving a chance to EL resolver to find them after the navigation was executed.
This change reverts the change made for http://jira.icesoft.org/browse/ICE-9817?focusedCommentId=53534&page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#comment-53534 problem. Re-tested successfully ICE-9817 with Wildly 8 to ensure no regression was introduced (the subsequent ICE-9817 changes were the relevant ones).
updated test case
Tested with ICEfaces EE-3.3.0 maintenance branch and ICEfaces 4 trunk r45751 on Tomcat 7.
QA Scopes View Scope disposed test fails manually. Reloading the page should keep the instance counter at 1 but instead it increments by 1. This occurred whether or not the following was included within the web.xml file:
<context-param>
<param-name>org.icefaces.lazyWindowScope</param-name>
<param-value>false</param-value>
</context-param>
test for support case 13455
Need to verify ICE-10257's attached test case to make sure no regressions were created.
Verified ICE-10257 attached test case on EE-3.3.0-maintenance r. 45754/ ICEfaces4 trunk r.45755 / Chrome43, IE11/ Mojarra && MyFaces JSF, and it passes.
Propagate view scoped beans through navigation to avoid having them re-instantiated during the next lifecycle and also have the defined bean methods available. The beans are eventually discarded together with the view root.
Re-opened for multiple expiry issue as reported by QA on IF 4 trunk.
Previous comment was misplaced, the issue was re-open to fix double disposing of the view scoped beans observed in ICEfaces 4 trunk.
Ported forward ICE-10257 changes to fix view scoped bean's double disposal.
I tried without success to create a test case that would reproduce this issue. Most probably this is a regression introduced by the fixes for
ICE-10257which also had a data table component in the mix.