2010-12-02 2 views
3

EDIT: Решение, которое вы можете найти в комментариях ниже предполагает изменение JSF implemenetation от MyFaces к Mojarra Солнца.MyFaces

Привет,

У меня действительно раздражает проблема с MyFaces 2.0.0 (Чтобы быть точнее я проверил это и на 2.0.1 и 2.0.2 и проблема остается).

Я пишу сейчас приложение под MyFaces. Короче говоря, в моем приложении я использую фреймворки: Spring, Hibernate, JSF (реализация MyFaces) Мой контейнер приложений - Tomcat (версия 6.0.29) Я использую maven для сборки и развертывания (версия 3.0).

Проблема заключается в том, что я пытаюсь повторно развернуть приложение через maven (mvn tomcat: redeploy), он сначала пытается развернуть приложение и развернуть его снова. Но развёртывание никогда не преуспевает. У меня есть информация:

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. 

В связи с этим котом ошибка может не 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 

Все мои библиотеки в WEB-INF \ Lib и мой файл, где я хранить журналы с Log4J не может быть удален.

Там также связана утечка памяти из библиотеки, которая обеспечивает ELFactoryImpl:

SEVERE: The web application [/adam] created a ThreadLocal with key of type [null] 
(value [[email protected]985fc]) 
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. 

Как избавиться от этой утечки памяти?

Я искал ответ действительно долго, я не могу найти решение. Я нашел эту проблему на jira myface: https://issues.apache.org/jira/browse/MYFACES-2942 Но я не знаю, что об этом думать. Должен ли я ждать версии 2.0.3?

Я думаю, что утечка памяти из EL связана с первым.

Пожалуйста, помогите! ;) Я могу предоставить более подробную информацию, если это необходимо.

ответ

2

Проблема уже сообщалась и будет исправлена. На данный момент у вас есть 3 варианта:

  1. Живите с предупреждающим сообщением и дождитесь, пока ребята из MyFaces освободят исправление.

  2. Применить предлагаемый патч в текущей реализации MyFaces.

  3. Заменить MyFaces на Mojarra (эталонная реализация), которая не раскрывает эту проблему.

+0

«Применить предлагаемый патч в текущей реализации MyFaces». Мой вопрос будет действительно глупым сейчас;) Как это сделать? AFAIK я должен использовать патч UNIX. Я прав ? Но как это сделать в системе Windows? Используя Cygwin? – 2010-12-02 11:48:03