2009-10-12 12 views
1

Salut, nous utilisons diverses combinaison de table de données et riche combobox et panneau à onglets. le rendu prend trop de temps. est je l'ai fait les suggestions d'optimisation des performances de stackoverflow et d'autres sitesRendu Richfaced prend plus de temps

<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> 

toute aide sera appréciée ...

Répondre

0

Avez-vous une logique dans vos getters? Comme ceux-ci seront appelés plusieurs fois déplacer toute la logique dans des méthodes qui sont appelées une fois.

Mettre dans un Phase Listener like this one from Andy Gibson

+0

pas beaucoup de logique dans getmethods(). Dans mon débogage, j'ai observé ma méthode getter ne sera appelée qu'une seule fois. seule la phase de rendu-réponse prend beaucoup de temps. Merci pour votre commentaire – SomaSekhar

0

avis, que par des composants par défaut RichFaces utilisent la pagination du côté client basé sur JavaScript, donc lorsque vous chargez une page toutes les données sont lues. Peut-être qu'au départ votre page affiche beaucoup de données (table, combos, onglets)? Essayez d'améliorer la performance en créant server side paging.

+0

oui ma page utilise une petite quantité de données. Nous n'utilisons aucune pagination, nous devons afficher 100 lignes à la fois. le total des données affichées est inférieur à 100mb. – SomaSekhar