QA@IT
«回答へ戻る

回答を投稿

お返事ありがとうございます。

その後、解析を進めた結果原因が判明しました。

該当メソッドを実行する際、もう一つ別のメソッドが走るのを見落としていました。
テーブルを変更した際、その別メソッドのSQLにも変更が及んでいましたが、
そちらは実行されていないものと思い込み、無視していました。
かつのりさんのご指摘の通り、その別メソッドSQLが実行不可能なことが原因で、
finally部のcloseに失敗していました。
SQLを正しく変更し、メソッドのエラー処理部を修正した結果、症状がなくなりました。

この、もう一つの別メソッドに気づけなかったため、原因判明までに時間がかかりました。
プールの接続リーク対策を行う際の、ログ出力が役に立ちました。
下記のページを参考にしました。
http://www.ksky.ne.jp/~snbhsmt/commons-dbcp.html

初歩的なミスでしたが、エラー処理もなかなか奥が深いです。。。
アドバイスをいただきました皆さんに、心から感謝いたします。
ありがとうございました。

投稿者:よしお

お返事ありがとうございます。

その後、解析を進めた結果原因が判明しました。

該当メソッドを実行する際、もう一つ別のメソッドが走るのを見落としていました。
テーブルを変更した際、その別メソッドのSQLにも変更が及んでいましたが、
そちらは実行されていないものと思い込み、無視していました。
かつのりさんのご指摘の通り、その別メソッドSQLが実行不可能なことが原因で、
finally部のcloseに失敗していました。
SQLを正しく変更し、メソッドのエラー処理部を修正した結果、症状がなくなりました。

この、もう一つの別メソッドに気づけなかったため、原因判明までに時間がかかりました。
プールの接続リーク対策を行う際の、ログ出力が役に立ちました。
下記のページを参考にしました。
[http://www.ksky.ne.jp/~snbhsmt/commons-dbcp.html](http://www.ksky.ne.jp/~snbhsmt/commons-dbcp.html)

初歩的なミスでしたが、エラー処理もなかなか奥が深いです。。。
アドバイスをいただきました皆さんに、心から感謝いたします。
ありがとうございました。


投稿者:よしお