と を使用してunreturnedConnectionTimeout="1800"
、debugUnreturnedConnectionStackTraces="true"
忘れられた接続を解放しています。ただし、アプリケーションがまだ稼働していても、データベースへのアクティビティがない場合があります。c3p0 接続プールは、1800 秒後に接続を閉じます。古いentityManagerを再び使用し始めるとすぐに、接続が閉じられていると不平を言います。数分ごとにエンティティ マネージャーにネイティブ クエリ ( SELECT NOW()
) を送信しようとしましたが、c3p0 接続が維持されません。たぶんネイティブクエリはc3p0をバイパスしますか???
フェイル セーブとして' unreturnedConnectionTimeout
' を保持したいのですが、有効な接続を維持できるようにしたいと考えています。
どうすればこれを解決できますか?
ありがとう、ミロ
編集: の後に c3p0 接続を維持できないようunreturnedConnectionTimeout
です。アクティビティではなく、作成時間だけに注目します。今、作成時間を更新するために c3p0 への API アクセスを探しています... ああ、汚い...