私はHibernateから始まります。 プール接続を設定する必要があるので、私は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>
私C3P0の一部です。
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