Я начинаю с Hibernate. Поскольку я читал, что мне нужно настроить соединение с пулом, я начинаю использовать C3P0закрытые соединения в c3p0
все в порядке, но когда я достигаю максимальных подключений, приложение зависает, мне нужно закрыть приложение и запустить его снова.
это моя C3P0 часть в hibernate.cfg.xml
<property name="hibernate.c3p0.min_size">1</property>
<property name="hibernate.c3p0.max_size">15</property>
<property name="hibernate.c3p0.timeout">3000</property>
<property name="hibernate.c3p0.max_statements">20</property>
<property name="hibernate.c3p0.idle_test_period">300</property>
в моей функции, когда я сохранить объект I закрыть сессию.
public void Save item(Item item)throws Exception{
try{
SessionFactory sf= NewHibernateUtil.getSessionFactory();
Session session;
session = sf.openSession();
Transaction tx= session.beginTransaction();
session.save(item);
tx.commit();
session.close();
}
catch(Exception ex){
throw new Exception(ex);
}
}
если я проверить соединения в MySql я вижу, что все соединения являются сон, но зависает.
Что мне здесь не хватает?
Как вы относитесь к замораживанию? Он висит в какой-либо конкретной строке кода? – user3138997
Когда я нажимаю на кнопку, чтобы сохранить объект, приложение перестает работать. (не отвечающее состояние). Если я проверю соединение, я вижу, что я достигаю максимально допустимых подключений. поэтому (я думаю) приложение замораживает – Clams