Commons DBCP と接続プールの両方に Apache BasicDataSource を使用しています。
org.apache.commons.dbcp.BasicDataSource
そしてSpringを通してそれを管理します:
org.springframework.jdbc.datasource.DataSourceTransactionManager
この組み合わせを Teradata JDBC ドライバーと使用しているときに、データベースがダウンしたり、ネットワークの不具合が発生したりした場合に、次のエラーが表示されます。
08S01 804 : I/O エラー、ソケットが閉じられました。パケットストリーム書き込みエラー
これは状況を正しく反映していますが、問題は再接続にあります。エラーが物理的に解決されるか、DB が復旧し、プログラムがクエリを実行しようとすると、20 分、数時間、またはまったく変化しない一定期間、同じエラーが発生します。JVM を再起動するか、ホスト名の代わりに IP アドレスを使用するなどの接続文字列を変更すると、問題は解決します。
これを修正できる DataSource または Spring Transaction Manager の設定はありますか? それともTCP / IP設定ですか?