Javaに関する様々な情報をご紹介します。

Javaに関する様々な情報をご紹介します。
評価

0

FileNotFoundExceptionが、本番稼動機で「たまに」発生し


Javaと付き合って3年くらいです。
困ったとき参考にさせてもらっています。
ありがとうございます。

FileNotFoundExceptionが、本番稼動機で「たまに」発生し
困っています。

発生はトラフィックが高いときになります。
ファイルは有りますし、別の時間に実行すると正常動作します。

サーバー メモリ4GB 2.5GHZ X 2 CPU Xeon
Win2008 R2 + tomcat6

問題発生時の統計

CPU稼働率 MAX 12.5% /7日
使用Memory 1Gb

Server.xml maxThreads 150

問題のログ 
Oct 2, 2015 5:00:48 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.io.FileNotFoundException: XXXXXXXXXXXXXXXファイル名
at java.io.FileInputStream.open(Native Method)

このときの混みよう

35セッション/時
36ユーザー/時

17時頃、混むのはわかっているのですが、CPUにそれほど負荷
はかかっていないように思われるのですが。

お聞きしたいのは、環境を調査するとすれば、あと、どこを調べれば
よいでしょうか?

4

回答

2069

閲覧

4件の回答

評価

0

なんでログをInputで開いてるんだろうか。

ロガーが何なのかも含めて情報が全くないので、エスパー
になるが。
ログローテーションに当たっているんじゃないのか。
適切に排他できていれば、ログファイルがない状態は発生
しえないだろう。

評価

0

回答ありがとうございます。

本番稼動機で bill_005fsave_jsp.java:146
bill_005fsave_jspが稼動しており、200アクセス
くらいあるうち、1件くらいの割合で、XXXXXXXXXXXXXXファイル名をinputすると(146行)でfileInputStream.openがFileNotFoundExceptionを
tomcat6のログ(下記)に吐いて、落ちてしまいます。

時間をずらして実行すると、正しく実行されます。

・環境を調べて
・プログラムを見ようと思っています。アクセスが混んでくると、動かないプログラムになっていると考えるしかありません。

あまり情報がありません。実際、「落ちた」という事実
しかありません。

---------------------------------------------
Oct 2, 2015 5:00:48 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.io.FileNotFoundException: XXXXXXXXXXXXXXXファイル名
    at java.io.FileInputStream.open(Native Method)
    at java.io.FileInputStream.<init>(Unknown Source)
    at java.io.FileInputStream.<init>(Unknown Source)
    at org.apache.jsp.bill_005fsave_jsp._jspService(bill_005fsave_jsp.java:146)

評価

0

「適切に排他できていれば」ですか。そうですか、そうですよね。

競合はしないようロジカルに設計してあるのですが、

「オープンしようとしたとき」すでに、オープンされているので、
エラーで落ちてしまう場合が気になります。

ひとつ前のjspでファイルリストを表示し、チェックを入れた
ファイルをbill_005fsave_jsp.javaが削除するのですが、

ファイルリストを表示したあと、クローズを明示的に行ってない
箇所を発見しました。

これかな、修正して様子を1ヶ月くらい見ないといけませんが。

不再現なので、環境を疑いましたが、プログラムを見るようにいたします。

ありがとうございました。

評価

0

同一セッション内で、jspが何本かキックされる構造なのですが、
jspは終了すると、ファイルのオープン状態はクリアされるように
錯覚していましたが、ほとんどの場合クリアされているのですが、
場合によって、オープン状態が残ってしまう。

こういう推測で、明示的にクローズし、結果は3ヶ月見て
なくなっていれば、そうだったといたします。

質問から6ヶ月以上経過しているので、回答を書き込むことはできません。