受け入れられた回答は、マッチ時の検証とバックグラウンド検証の両方を有効にします。 Development_Guide/sect-Transaction_Subsystem_Configuration.html">ドキュメント に対して推奨されます。
パフォーマンスがさほど重要でない場合、validate-on-match は使用前に各接続をチェックし、無効な接続が使用されるのを防ぎます。それ以外の場合は、バックグラウンド検証を使用できます。これはデータベースへのヒットが少なくなりますが、最後の検証チェック以降に切断された接続を使用するリスクがあります。ドキュメントからコピーされた 2 つのオプションの簡単な要約:
マッチの検証
このオプションが true に設定されている場合、データベース接続は、接続プールからチェックアウトされるたびに検証されます。この設定により、リカバリは最速になりますが、データベースへの負荷が最大になります。
バックグラウンド検証
これは background-validation-millis 値と組み合わせて使用され、バックグラウンド検証の実行頻度を決定します。値が小さいほど、プールが検証される頻度が高くなり、無効な接続がプールから削除されるのが早くなります。ただし、値を小さくすると、より多くのデータベース リソースが必要になります。値が大きいほど、接続検証チェックの頻度が低くなり、データベース リソースの使用量が少なくなりますが、切断された接続が検出されない時間が長くなります。