powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с утечкой памяти Hibernate +C3PO + mysql-connector-3.1(5.0) com.mysql.jdbc.Field
1 сообщений из 1, страница 1 из 1
Проблема с утечкой памяти Hibernate +C3PO + mysql-connector-3.1(5.0) com.mysql.jdbc.Field
    #33738740
Alexey Turn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Объекты com.mysql.jdbc.Field не убирает сборщик мусора. Убирает для
mysql-connector-3.0, но это более старая версия драйвера, которая имеет свои глюки.

Кто работает с hibernate + myqsql и сталкивался с проблемой утечки памяти?

Постепенно com.mysql.jdbc.Field съедает всю память VM и томкат с грохотом падает, кидая OutOfMemoryError

В тестируемом сервлете jdbc кода нет. Все через hibernate.

В следующем фрагменте jdbc код. Закрываю все ResultSets и Statements

Смотрю профайлером. Все остальные объекты сборщик мусора подбирает. Эти нет.

В качестве теста посылал GET запрос серлету HTTP Unitом 1000 раз.

Тестовый код:


Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
<%
 		 try 
                    {
                        Connection conn = Hibernate3Support.currentSession().connection();
                        Statement stmt = conn.createStatement();
                         for  ( int  i =  0 ; i <  1 ; i++)
                            {
								ResultSet rs = stmt.executeQuery("select * from Rubriks");
								 while  (rs.next())
								{
									String s = rs.getString("RubName");
									
								}
								
								rs.close();
                            }
                            
                            stmt.close();
                            
                            conn.close();

                    }
                 catch  (Exception e)
                    {
                        e.printStackTrace();
                    }
   %>

так же дает утечку памяти.

Настройки пула ставил такими. Думал, что, возможно пул держит ссылки на эти объекты. Но тогда число инстансов должно стабилизироваться на какой-то цифре, а оно постоянно растет.

<prop key="hibernate.c3p0.min_size">1</prop>

<prop key="hibernate.c3p0.max_size">2</prop>

<prop key="hibernate.c3p0.timeout">1800</prop>

<prop key="hibernate.c3p0.max_statements">3</prop>

<prop key="hibernate.dialect">org.hibernate.dialect.MySQLDialect</prop>

баг описан здесь баг mysql-connector-3.1 утечка памяти com.mysql.jdbc.Field

У меня течет даже с stmt.close() хотя в баге написано, что течь не должно.
...
Рейтинг: 0 / 0
1 сообщений из 1, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / Проблема с утечкой памяти Hibernate +C3PO + mysql-connector-3.1(5.0) com.mysql.jdbc.Field
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]