アプリ版:「スタンプのみでお礼する」機能のリリースについて

Javaでファイルのダウンロード機能を作成しています。
環境はWebサーバにapache、APサーバにGlassfish、連携としてmod_jk、あとはJava6を使用しています。
InpusStreamでファイルパスから取得しresponse.getOutputStream()に書き込む処理writeにて
org.apache.catalina.connector.ClientAbortExceptionが発生してしまいます。
その際にダウンロードのポップアップ(開く、保存、キャンセル)が開きますがExceptionが発生しているため保存できません。
ただしファイルのサイズによっては正常に保存できます。(ファイルサイズが500Mくらいだとダメ)
なお、ClientAbortExceptionはキャンセル押したときに発生すると思われますがそのほかにどのような場合に発生するのでしょうか?
また、対処方法を知っていましたらご教授ください。

A 回答 (3件)

>ファイルの容量によってapacheやmod_jkが切断することはありえるのでしょうか?


やったことがないので知りません。

単純なwrite処理だけだとflushしません。その場合、クライアントからデータが来ないように見えてしまい、
キャンセルしているのではないか?ということです。

参考URL:http://mergedoc.sourceforge.jp/tomcat-servletapi …
    • good
    • 0

>org.apache.catalina.connector.ClientAbortException:java.io.IOException: パイプが切断されました。


大きなファイルの送信に時間が掛かり、KeepAliveのTimeoutに到達、そして切断されているのではないでしょうか?

この回答への補足

ファイルのサイズは500Mくらいで大きいですが実際にExceptionが発生するまでの時間は数秒です。
ファイルの容量によってapacheやmod_jkが切断することはありえるのでしょうか?

補足日時:2014/06/29 20:08
    • good
    • 0

とりあえず、Exceptionのログを提示して下さい。

この回答への補足

org.apache.catalina.connector.ClientAbortException:java.io.IOException: パイプが切断されました。

補足日時:2014/06/28 17:36
    • good
    • 2

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このQ&Aを見た人がよく見るQ&A