Huge performance problem
fabboco Mar 8, 2008 5:14 AMHi,
I have a page with a dataTable and a contextMenu.
Problem is that when I select a menu item the back-end is called after about 20 seconds.
Look at the log and the time spent between request state 1 and request state 2.
Obviously, I'm doing something wrong.
Please, help me !
Thank you
Fab.
<!DOCTYPE xsl:stylesheet [ <!ENTITY nbsp " "> <!-- NO-BREAK SPACE --> ]> <ui:composition xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:s="http://jboss.com/products/seam/taglib" xmlns:a4j="http://richfaces.org/a4j" xmlns:rich="http://richfaces.org/rich" template="/layout/layout.xhtml"> <ui:define name="windowTitle"> <h:outputText value="#{msgs.list_Bug_title}" /> </ui:define> <ui:define name="pageTitle"> <h:outputText value="#{msgs.list_Bug_title}" styleClass="titleText" /> </ui:define> <ui:define name="menubar"> <a4j:form> <rich:toolBar> <rich:menuItem immediate="true" value="#{msgs.Application_index}" action="/Index.seam" ajaxSingle="true" /> <rich:menuItem immediate="true" value="#{msgs.list_Bug_new}" action="#{BugManager.initCreate}" ajaxSingle="true" /> ........... </rich:toolBar> </a4j:form> </ui:define> <ui:define name="localSearch"> ....... </ui:define> <ui:define name="path"> <h:outputText value="#{BugManager.path}" styleClass="listPath" /> </ui:define> <ui:define name="content"> <link href="../styles/custom.css" rel="stylesheet" type="text/css" /> <script type="text/javascript" language="javascript"> //<![CDATA[ function startup() { } //]]> </script> <a4j:form id="form" > <!-- POPUP MENU --> <rich:contextMenu attached="false" id="menu" submitMode="ajax" > <rich:menuItem ajaxSingle="true" submitMode="ajax" value="#{msgs.list_Bug_display}" actionListener="#{BugManager.poupMenuSelectItem}" action="#{BugManager.initDisplay}" requestDelay="0" > <a4j:actionparam name="selectedId" value="{selectedBean}" /> </rich:menuItem> .......... </rich:contextMenu> <a4j:log popup="true" level="ALL" style="width: 1200px; height: 300px;"></a4j:log> <table width="100%" cellpadding="0" cellspacing="0" > <!-- DATA SCROLLER: BUTTONS --> <tr> <td align="center"> <rich:datascroller id="dataScroll_1" for="bug" fastStep="3" paginator="true" paginatorMaxPages="4" styleClass="formBorderHighlight" requestDelay="0" pageIndexVar="pageIndex" pagesVar="pages"> </rich:datascroller> </td> </tr> <!-- DATA TABLE --> <tr> <td> <rich:panel> <rich:dataTable id="bug" var="bug" rows="25" value="#{bugList}" width="100%" immediate="true" onRowMouseOver = "this.style.backgroundColor='#F8F8F8'" onRowMouseOut = "this.style.backgroundColor='#{a4jSkin.tableBackgroundColor}'" columnClasses = "dataColumnCenterAlignment,dataColumnLeftAlignment,dataColumnLeftAlignment,dataColumnLeftAlignment,dataColumnCenterAlignment,dataColumnCenterAlignment,dataColumnLeftAlignment,dataColumnLeftAlignment,dataColumnLeftAlignment,dataColumnLeftAlignment,dataColumnCenterAlignment" > <f:facet name="header"> <h:outputText value="Records: #{e1List.size}" /> </f:facet> <!-- POPUP MENU COLUMN --> <rich:column> <f:facet name="header"> </f:facet> <h:panelGroup> <h:graphicImage url="../img/action.gif" id="pic" > <rich:componentControl event="onclick" for="menu" operation="show" > <f:param value="#{bug.id}" name="selectedBean"/> </rich:componentControl> </h:graphicImage> </h:panelGroup> </rich:column> <!-- OTHER COLUMS --> <rich:column> <f:facet name="header"> <h:panelGroup style="white-space: nowrap;"> <h:outputText value="#{msgs.list_Bug_uid}" /> <h:commandButton action="#{BugManager.orderBy1A}" image="../img/asc.gif" rendered="#{BugManager.order!=1}" /> <h:commandButton action="#{BugManager.orderBy1A}" image="../img/asc_selected.gif" rendered="#{BugManager.order==1}" /> <h:commandButton action="#{BugManager.orderBy1D}" image="../img/desc.gif" rendered="#{BugManager.order!=2}" /> <h:commandButton action="#{BugManager.orderBy1D}" image="../img/desc_selected.gif" rendered="#{BugManager.order==2}" /> </h:panelGroup> </f:facet> <h:outputText value="#{bug.uid}" > </h:outputText> </rich:column> ................... </rich:dataTable> </rich:panel> </td> </tr> </table> </a4j:form> </ui:define> </ui:composition>
debug[11:00:10,020]: Have Event [object Object] with properties: target: [object HTMLSpanElement], srcElement: undefined, type: click debug[11:00:10,021]: NEW AJAX REQUEST !!! with form :form debug[11:00:10,022]: Append hidden control form with value [form] and value attribute [form] debug[11:00:10,024]: Append hidden control autoScroll with value [] and value attribute [] debug[11:00:10,025]: Append hidden control form:_idcl with value [] and value attribute [] debug[11:00:10,025]: Append hidden control form:_link_hidden_ with value [] and value attribute [] debug[11:00:10,026]: Append hidden control javax.faces.ViewState with value [_id4] and value attribute [_id4] debug[11:00:10,027]: parameter selectedId with value 76 debug[11:00:10,027]: parameter form:j_id58 with value form:j_id58 debug[11:00:10,029]: Start XmlHttpRequest debug[11:00:10,031]: Reqest state : 1 debug[11:00:10,031]: QueryString: AJAXREQUEST=_viewRoot&form=form&autoScroll=&form%3A_idcl=&form%3A_link_hidden_=&javax.faces.ViewState=_id4&selectedId=76&form%3Aj_id58=form%3Aj_id58& debug[11:00:10,043]: Reqest state : 1 debug[11:00:35,491]: Reqest state : 2 debug[11:00:35,492]: Reqest state : 3 debug[11:00:35,497]: Reqest state : 4 debug[11:00:35,498]: Reqest end with state 4 debug[11:00:35,499]: Response with content-type: text/xml;charset=UTF-8 debug[11:00:35,499]: Full response content: <?xml version="1.0" encoding="UTF-8"?> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta name="Ajax-Response" content="redirect" /><meta name="Location" content="/anomalie/Bug.seam?conversationId=3" /></head></html> debug[11:00:35,500]: Header Ajax-Expired not found, search in <meta> debug[11:00:35,501]: search for elements by name 'meta' in element #document debug[11:00:35,506]: getElementsByTagName found 2 debug[11:00:35,508]: Find <meta name='Ajax-Response' content='redirect'> debug[11:00:35,508]: Find <meta name='Location' content='/anomalie/Bug.seam?conversationId=3'> warn[11:00:35,509]: No ajax response header debug[11:00:35,521]: call getElementById for id= org.ajax4jsf.oncomplete