Утечка памяти в Tomcat 6.0.29 с Граалсом 1.3.7 - PullRequest
0 голосов
/ 18 мая 2011

Я использую Tomcat 6.0.29 для развертывания моей производственной войны Grails 1.3.7 на Windows и Linux-машине. У меня не возникает проблем при разработке приложений, но когда я развертываю приложение войны и запуска / остановки через менеджер tomcat , я получил ниже стека трассировки в лог-файл tomcat catalina.

May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearReferencesJdbc
SEVERE: The web application [/AppName] registered the JBDC driver [com.mysql.jdbc.Driver] but failed to unregister it when the web application was stopped. To prevent a memory leak, the JDBC Driver has been forcibly unregistered.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearReferencesThreads
SEVERE: The web application [/AppName] appears to have started a thread named [MySQL Statement Cancellation Timer] but has failed to stop it. This is very likely to create a memory leak.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [/AppName] created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptor$1@87b2c8]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [/AppName] created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptor$2@ea95e0]) and a value of type [java.lang.Integer] (value [0]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [/AppName] created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptor$1@87b2c8]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [/AppName] created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.orm.hibernate.support.HibernatePersistenceContextInterceptor$2@ea95e0]) and a value of type [java.lang.Integer] (value [0]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
May 17, 2011 7:43:21 PM org.apache.catalina.loader.WebappClassLoader clearThreadLocalMap
SEVERE: The web application [/AppName] created a ThreadLocal with key of type [null] (value [org.codehaus.groovy.grails.commons.spring.ReloadAwareAutowireCapableBeanFactory$2@1283b68]) and a value of type [java.lang.Boolean] (value [false]) but failed to remove it when the web application was stopped. This is very likely to create a memory leak.
May 17, 2011 7:43:56 PM org.apache.catalina.loader.WebappClassLoader loadClass
INFO: Illegal access: this web application instance has been stopped already.  Could not load com.mysql.jdbc.SQLError.  The eventual following stack trace is caused by an error thrown for debugging purposes as well as to attempt to terminate the thread which caused the illegal access, and has no functional impact.

Заранее благодарю за ответы!

1 Ответ

0 голосов
/ 08 июля 2011

Это явно признанная проблема: ReloadAwareAutowireCapableBeanFactory - утечка памяти

и будет исправлено в следующей версии: утечка памяти локального потока tomcat

В последней ссылке они сказали, что будет исправлено в 1.4, но этот выпуск был объединен с 2.0: Grails 1.4 теперь Grails 2.0 . 2.0 M1 выйдет в конце июля.

...