困っていた内容
Redshift用のJDBCでRedshiftに接続しており、連続して処理を実行すると以下のエラーメッセージが記録され処理が停止してしまう。
[java.sql.SQLException: [Amazon](500150) Error setting/closing connection: Not Connected.]
どう対応すればいいの?
本エラーは、クライアントとしてはDB接続オブジェクトがあるものの、無効となった接続上で処理を継続した場合に出力されます。 接続が無効となる例としては、Redshiftのサーバ側が再起動したといった理由が考えられます。 対策としては、処理毎にDB接続を新規に作成する方法が考えられます。 また、コネクションプーリングを利用している場合、close()メソッドを呼び出したとしても、実際には接続オブジェクトがプールに戻されるだけであり、次のgetConnection()では実際には物理接続は再作成されていない場合があることをご留意ください。
参考情報
amazon-redshift-management-guide
テクニカルサポートノートとは?
クラスメソッドのカルチャー(CLP)
の「情報発信を通じて、全ての人々の創造活動に貢献し続ける」という考えから、クラスメソッド メンバーズをご利用のお客様よりいただいたお問い合わせより、他の AWS ユーザーにとっても 有益な情報を一般的な TIPS としてご紹介しています。 Red