views:

365

answers:

2

Hi we are using various combination of data table and rich combobox and tab panel. the rendering is taking too long. is i did the performance tuning suggestions from stackoverflow and other websites

<context-param>
 <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
 <param-value>server</param-value>
</context-param>

<context-param>
 <param-name>org.ajax4jsf.COMPRESS_SCRIPT</param-name>
 <param-value>false</param-value>
</context-param>

<context-param>
 <param-name>org.richfaces.LoadStyleStrategy</param-name>
 <param-value>ALL</param-value>
</context-param>
<context-param>
 <param-name>org.richfaces.LoadScriptStrategy</param-name>
 <param-value>ALL</param-value>
</context-param>

<context-param>
 <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
 <param-value>NEKO</param-value>
</context-param>

<context-param>
 <param-name>org.ajax4jsf.xmlparser.NEKO</param-name>
 <param-value>.*\..*</param-value>
</context-param>

<context-param>
 <param-name>com.sun.faces.responseBufferSize</param-name>
 <param-value>500000</param-value>
</context-param>
<context-param>
 <param-name>facelets.BUFFER_SIZE</param-name>
 <param-value>500000</param-value>
</context-param>

<filter>
 <display-name>RichFaces Filter</display-name>
 <filter-name>richfaces</filter-name>
 <filter-class>org.ajax4jsf.Filter</filter-class>
 <init-param>
  <param-name>forceparser</param-name>
  <param-value>false</param-value>
 </init-param>
 <init-param>
  <param-name>enable-cache</param-name>
  <param-value>true</param-value>
 </init-param>
</filter>

any help will be appreciated...

A: 

Do you have any logic in your getters? As these will be called multiple times move all logic into methods that are called once.

Put in a Phase Listener like this one from Andy Gibson

Damo
not much logic in getmethods(). in my debugging i observed my getter method will be called only once. only render-esponse phase is taking lots and lots of time. Thanks for your comment
SomaSekhar
A: 

Notice, that by default richfaces components use client side paging based on JavaScript, so when you load a page all data are read. Maybe initially your page shows lot of data (table, combos, tabs)?

Try to improve performace by creating server side paging.

cetnar
yes my page uses small amount of data. we are not using any pagination we have to display 100 rows at a time. the total data getting displayed is less han 100mb.
SomaSekhar