[
https://issues.jboss.org/browse/RF-12491?page=com.atlassian.jira.plugin.s...
]
Luis Garcia commented on RF-12491:
----------------------------------
I recently tested this with RichFaces 5.0.0 Alpha3.
The issue is still present - The test were conducted using a set of Dynamic Tabs with
DataTables inside them.
The data model for each DataTables was called upon - even if it wasn't the active Tab.
Datatable model is accessed in tab panel which is not rendered using
switch type "server"
-----------------------------------------------------------------------------------------
Key: RF-12491
URL:
https://issues.jboss.org/browse/RF-12491
Project: RichFaces
Issue Type: Bug
Security Level: Public(Everyone can see)
Components: component-panels-layout-themes
Affects Versions: 4.2.0.Final, 4.2.2.Final
Environment: Mojarra 2.1.20, JDK 1.6, JDK 1.7, Tomcat 7.0.x
Reporter: Denis Pasek
Labels: lazy-loaded
Fix For: 5-Tracking
Attachments: richfaces-visittree.zip, stacktrace-richfaces.png
When a RichFaces Tab of a TabPanel contains a RichFaces DataTable the model of the
DataTable is accessed even if the Tab is not rendered at all.
Since the retrieval of the data table data might include costly database operations this
is a serious performance issue.
The issue seems to be related to the state saving of JSF: the methods are not called
during encodeAll() but during state saving of view.
My own analysis shows that AbstractTogglePanel visitTree() implementation visits all tab
panels sub tree but not only the active one. Additionally it seems that the UIDataAdaptor
wants to visit all rows of table even if it is not rendered as JSF state saving runs in
RENDER_RESPONSE phase (see attached stacktrace).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:
http://www.atlassian.com/software/jira