2014-01-18 4 views
3

Я новичок в спящем режиме. Я создаю некоторую базовую программу спящего режима, чтобы сделать какую-то вставку в базу данных MySql. Ниже приведен основной код, который я написал. Хотя я закрываю сеанс после транзакции и вижу, что «Сброшенное соединение JDBC» на консоли, я могу увидеть неактивное соединение в базе данных после запуска программы. Каждый раз, когда я запускаю программу, в базе данных создается новое неактивное соединение. Я должен нажать кнопку «завершить» в консоли eclipse, чтобы каждый раз останавливать этот неактивный сеанс.Hibernate не освобождает соединение mysql

Student s1 = new Student(); 
s1.setName("Monaj"); 
s1.setRoll(1); 
s1.setDate(new Date()); 

Configuration configuration = new Configuration().configure(); 
serviceRegistry = new StandardServiceRegistryBuilder() 
    .applySettings(configuration.getProperties()).build(); 
sessionFactory = configuration.configure() 
    .buildSessionFactory(serviceRegistry); 

Session session=sessionFactory.openSession(); 
Transaction t1=session.beginTransaction(); 
session.save(s1); 
t1.commit(); 
session.close(); 

Консольный вывод: -

15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Aggressively releasing JDBC connection 
15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Releasing JDBC connection 
15:29:08.476 [main] DEBUG o.h.e.j.i.LogicalConnectionImpl - Released JDBC connection 
15:29:08.477 [main] DEBUG o.h.e.j.internal.JdbcCoordinatorImpl - HHH000420: Closing un-released batch 
15:29:37.323 [pool-1-thread-1] DEBUG o.h.e.j.c.i.DriverManagerConnectionProviderImpl - Connection pool now considered primed; min-size will be maintained 

конфигурации Hibernate: -

<property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
<property name="connection.url">jdbc:mysql://localhost/test</property> 
<property name="connection.password">password</property> 
<property name="connection.username">admin</property> 
<property name="dialect">org.hibernate.dialect.MySQL5Dialect</property> 
<property name="show_sql">true</property> 
<property name="hbm2ddl.auto">create</property> 
<property name="connection.release_mode">AFTER_TRANSACTION</property> 
<property name="connection.autocommit">true</property> 

Может кто-нибудь, пожалуйста, помогите мне с этим.

+0

Вы исправите проблему? –

ответ

0

Попробуйте установить режим освобождения соединения с «авто»

<property name="connection.release_mode">auto</property> 

Обратитесь к этому manual для получения дополнительной информации.

Надеюсь, что это поможет.

+0

Спасибо за ваш ответ, я попытался использовать все значение, но проблема все еще существует. Я закрываю сессионную лабораторию. но все равно я получаю то же самое. Я вижу, что он закрывает соединение jdbc, но я вижу неактивное соединение в базе данных. | Id | Пользователь | Хост | db | Команда | Время | Государство | Информация | | 38 | admin | localhost: 54151 | тест | Сон | 361 | | NULL | | 41 | admin | местный адрес: 54213 | тест | Сон | 118 | | NULL | | 42 | admin | местный адрес: 54220 | тест | Сон | 44 | | NULL | – Monaj

+0

Наконец, было ли решение этой проблемы? – molavec

Смежные вопросы