2010-12-02 35 views
3

EDIT: La solution que vous pouvez trouver dans les commentaires ci-dessous suppose de changer JSF implemenetation de MyFaces à Mojarra de dim.fuites mémoire dans MyFaces

Salut,

J'ai vraiment ennuyeux problème avec MyFaces 2.0.0 (Pour être plus précisément je l'ai vérifié aussi 2.0.1 et 2.0.2 et problème reste).

J'écris maintenant l'application sous MyFaces. Brièvement parlant dans mon application j'utilise des frameworks: Spring, Hibernate, JSF (implémentation de MyFaces) Mon conteneur d'application est Tomcat (version 6.0.29) J'utilise maven pour construire et déployer (version 3.0). Le problème est que lorsque j'essaie de redéployer une application via maven (mvn tomcat: redeploy), il essaie d'abord de désétaler l'application et de la déployer à nouveau. Mais ne pas déployer ne réussit jamais. J'ai des informations:

SEVERE: The web application [/adam] created a ThreadLocal with key of type 
[java.lang.ThreadLocal] (value [[email protected]]) and a value of type 
[org.apache.myfaces.config.RuntimeConfig] (value [email protected]]) 
but failed to remove it when the web application was stopped. 
This is very likely to create a memory leak. 

En raison de cette tomcat d'erreur ne peut pas l'application undeploy:

INFO: Undeploying context [/adam] 
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam\WEB-INF\lib] could not be completely deleted. The presence of the remaining files may cause problems 
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam\WEB-INF] could not be completely deleted. The presence of the remaining files may cause problems 
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar deleteDir 
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam] could not be completely deleted. The presence of the remaining files may cause problems 
2010-12-02 11:47:46 org.apache.catalina.startup.ExpandWar delete 
SEVERE: [D:\Program Files\apache-tomcat-6.0.29\webapps\adam] could not be completely deleted. The presence of the remaining files may cause problems 
2010-12-02 11:47:49 org.apache.catalina.startup.HostConfig deployDirectory 

Toutes mes bibliothèques dans WEB-INF \ lib et mon fichier où je garde les journaux de Log4J ne peut pas être supprimé

Il est également relié fuite de mémoire de la bibliothèque qui fournit ELFactoryImpl:

SEVERE: The web application [/adam] created a ThreadLocal with key of type [null] 
(value [org.apache.myfaces.el.convert.VariableRe[email protected]]) 
and a value of type [java.util.HashSet] (value [[]]) but failed to remove it 
when the web application was stopped. 
This is very likely to create a memory leak. 

Comment se débarrasser de cette fuite de mémoire?

Je cherchais une réponse depuis très longtemps Je ne trouve pas de solution. J'ai trouvé ce numéro sur le jira de myface: https://issues.apache.org/jira/browse/MYFACES-2942 Mais je ne sais pas quoi penser à ce sujet. Devrais-je attendre la version 2.0.3?

Je pense que la fuite de mémoire de EL est connectée à la première.

S'il vous plaît, aidez-moi! ;) Je peux fournir plus de détails si nécessaire.

Répondre

2

Le problème a déjà été signalé et sera corrigé. A partir de maintenant, vous avez 3 options:

  1. Live avec le message d'avertissement et attendez que les gars de MyFaces libèrent le correctif.

  2. Appliquez le correctif proposé dans votre implémentation MyFaces actuelle.

  3. Remplacez MyFaces par Mojarra (l'implémentation de référence) qui n'expose pas ce problème.

+0

"Appliquez le correctif proposé dans votre implémentation MyFaces actuelle.". Ma question sera vraiment stupide maintenant;) Comment faire cela? Je pense que je devrais utiliser l'outil patch UNIX. Ai-je raison ? Mais comment faire cela sous Windows? En utilisant Cygwin? –

+0

Ils utilisent SVN. Si vous n'avez pas de SVN, vous devez télécharger une version nocturne ou l'appliquer manuellement sur la source MyFaces et recompiler/reconditionner le fichier JAR.Cependant, je n'arrive pas à trouver une compilation nocturne sur la forêt à http://myfaces.apache.org. Les dossiers de téléchargement sont vides. Quoi qu'il en soit, y a-t-il une raison pour laquelle vous préférez MyFaces à Mojarra? – BalusC

+0

"Quoi qu'il en soit, y a-t-il une raison pour que vous préfériez MyFaces au supérieur Mojarra?" Une seule raison: les changements dans la documentation de ma thèse de BSc et quelques changements dans la configuration web.xml. Mais ce n'est pas un gros problème. Je vais essayer Mojarra. J'espère que cela aidera. Si cela peut aider, dois-je écrire à ce sujet dans le commentaire? (Je suis nouveau ici;)) –