Hibernate 4.1.1 と Spring 3.1.1 と Postgres 9.2 を使用する Web アプリケーションがあります。また、Spring トランザクション API と c3p0 接続プールも使用します。DBサーバーは別のサーバーにあり、pgbouncerはインストールされておらず、Postgresのみがインストールされています。
DB接続をチェックアウトできないというログに多くのエラーがあります。しかし、Postgres サーバーのステータスを表示すると ("SELECT datname,procpid,current_query FROM pg_stat_activity")、これらの接続の 95% が "IDLE" です。
それはどのように起こったのですか?このゴースト接続では、通常のクエリを実行できません。
エラー:
Caused by: com.mchange.v2.resourcepool.TimeoutException: A client timed out while waiting to acquire a resource from com.mchange.v2.resourcepool.BasicResourcePool@4bbf8a41 -- timeout at awaitAvailable()