0

休止状態接続を使用するのは初めてです。クエリを実行する前に接続を確認するのが困難です。現在、クエリを実行すると、接続が利用できないことを確認する前に、Java Swing アプリケーションが約 30 秒ほどハングします。私はすでに session.isConnected() を使用しましたが、サーバーがダウンしていても、戻り値は常に true です。助けてください。ありがとう

ここに私の接続プロパティがあります:

"hibernate.connection.provider_class", "org.hibernate.connection.C3P0ConnectionProvider" 
"hibernate.c3p0.validate", "true" 
"hibernate.c3p0.acquire_increment", "2" 
"hibernate.c3p0.idle_test_period", "30" 
"hibernate.c3p0.min_size", "5" 
"hibernate.c3p0.max_size", "25" 
"hibernate.c3p0.max_statements", "0" 
"hibernate.c3p0.testConnectionOnCheckout", "true" 
"hibernate.c3p0.testConnectionOnCheckIn", "true" 
"hibernate.c3p0.preferredTestQuery", "SELECT 1" 
"hibernate.c3p0.acquireRetryAttempts", "3" 
"hibernate.c3p0.acquireRetryDelay", "200" 
"hibernate.c3p0.timeout", "1000" 
"hibernate.c3p0.maxConnectionAge", "1100" 
"hibernate.connection.autoReconnect", "true" 
"javax.persistence.lock.timeout", "1" 
"javax.persistence.query.timeout", "1" 
4

1 に答える 1

0

接続プールを使用していますか? その場合、通常は、接続を渡す前に実行される validationQuery (例: "SELECT 1") を使用して構成できます。自分で手動で行う必要はありません。

まだ接続プールを使用していませんか? 1つを使用してください!

コメントへの回答: 検証を明示的にオンにする必要がある場合があります。例: にhibernate.c3p0.validate設定true

于 2014-09-17T06:56:04.657 に答える