私はHibernate 4、PostgreSQL、C3P0を使用しています。
私の Web アプリケーションでは、しばらくするとデータベースに複数のクエリが送られSHOW TRANSACTION ISOLATION LEVEL
、サーバーがハングアップします。私のコードでは、すべての接続が適切に閉じられています。
接続リークが原因でしょうか?
ベストアンサー1
各クエリのも確認する必要がありますstate
。 が であれば、idle
おそらく問題はないでしょう。
pg_stat_activity
開いている各接続によって実行された最後のクエリを表示します。また、c3p0 はSHOW TRANSACTION ISOLATION LEVEL
接続を開いたままにするために使用します (正常かつ予想される動作)。
何が起こっているのか:
- 接続が開かれました
SHOW TRANSACTION ISOLATION LEVEL
接続を開いたままにするために実行されます。- 接続プールは、接続を開いたままにするために、このクエリを定期的に(たとえば 10 分ごとに)送信します。
pg_stat_activity
これらのクエリは、特定の接続を介して実行された最後のクエリである場合があるため、に表示されます。また、idle
この接続はアクティブに使用されていないため、として表示されます。