Microsoft JDBC ドライバーと DBCP の組み合わせを実行していますが、1 つのクエリがハングアップしています。
...
at com.microsoft.sqlserver.jdbc.TDSChannel.read(IOBuffer.java:1654) ~[sqljdbc4-3.0.jar:na]
at com.microsoft.sqlserver.jdbc.TDSReader.readPacket(IOBuffer.java:3694) ~[sqljdbc4-3.0.jar:na]
at com.microsoft.sqlserver.jdbc.TDSCommand.startResponse(IOBuffer.java:5022) ~[sqljdbc4-3.0.jar:na]
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:388) ~[sqljdbc4-3.0.jar:na]
...
ドライバーをゼロ以外のクエリ タイムアウトで構成しても役に立ちません (ソケットからの読み取り中にドライバーがハングすると、別の種類のタイムアウトになるようです)。
アプリケーションのソケット読み取りタイムアウトを変更したくありません。
今のところ、タイムアウトベースの強制接続コレクターを備えた C3P0 プールに変更しました。あまり好きではありませんが、より良いオプションが見つからない限り、それを使用する必要があります。
それで、質問 誰かがこの問題と根底にある詳細を知っていますか? それを処理する最善の方法は何だと思いますか?
ありがとう