- - PR -
DataInputStream実行時の処理落ちについて
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-11-09 14:14
url = new URL("http://serv:1000/test_site/TEST") ; uc = ((HttpURLConnection)(url.openConnection())); uc.setRequestMethod("POST"); uc.setDoOutput(true); uc.setDoInput(true); System.out.println("check Point1"); // @ // 問題のstep dis = new DataInputStream(uc.getInputStream()); System.out.println("check Point2"); // A ・ ・(省略) System.out.println("処理終了"); // B } catch (IOException e){ new CombineException("", "", e); // 例外ログ出力 } catch (Exception ex) { new CombineException("", "", ex); } 上記の様に,@〜Bでログを出力しているのですが(実際はフレームワークで) @のログのみ出力されます。 つまりA以降は処理が流れていない状況です。 [ メッセージ編集済み 編集者: ひろ 編集日時 2006-11-09 14:41 ] | ||||||||
|
投稿日時: 2006-11-09 14:34
例外が発生していないなら、Errorがはっせいしているのでは?
なんらかのリソース枯渇によるOutOfMemoryErrorとか 環境異常によるNoClassDefFoundErrorとか、あるいはAssertionErrorとか。 catchにErrorを足してみてください。 (実際にErrorが発生しているのなら、キャッチするのでなくほかの対処が必要ですが...) | ||||||||
|
投稿日時: 2006-11-09 14:56
ご返信ありがとうございます。 catchに上記例外を追加してみましたが,変化はありませんでした。 socketを利用するなり色々試してみます。 [ メッセージ編集済み 編集者: ひろ 編集日時 2006-11-09 14:57 ] | ||||||||
|
投稿日時: 2006-11-09 14:57
やはり今ひとつ状況がはっきりしないのですが、この現象とは違うのでしょうか。
http://www.thescripts.com/forum/thread17880.html もしそうであれば、URLの最後にスラッシュをつけてみてはどうですか? | ||||||||
|
投稿日時: 2006-11-09 15:11
ご返信ありがとうございます。 最後にスラッシュをつけて何度か繰り返し実行した結果, 以下の例外ログが出力されました。 指定されたパス名で示されるファイルが開けないようです。 また,色々試してみます。 <?xml version="1.0" encoding="Shift_JIS" ?> <DATABASE> <DATE>2006/11/09 15:19.34</DATE> <DISPLAY_MESSAGE></DISPLAY_MESSAGE> <SOLUSION_KEYWORD></SOLUSION_KEYWORD> <STACK_TRACE> java.io.FileNotFoundException: http://serv:1000/test_site/TEST at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:812) at jp.co.nttwest.workbean.UKAddressCheck.getAdressCode(UKAddressCheck.java:154) at ADDServlet.service(ADDServlet.java:163) at javax.servlet.http.HttpServlet.service(HttpServlet.java:802) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:237) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:157) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:214) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:152) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:102) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:104) at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520) at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929) at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160) at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799) at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:705) at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:683) at java.lang.Thread.run(Thread.java:534) </STACK_TRACE> </DATABASE> ----------------------------------------------------------------------- public class FileNotFoundException extends IOException 指定されたパス名で示されるファイルが開けなかったことを通知します。 この例外は、指定されたパス名のファイルが存在しないときに、FileInputStream、FileOutputStream、および RandomAccessFile コンストラクタによってスローされます。また、ファイルが存在しても、なんらかの理由でアクセスできない場合 (たとえば、読み込み専用のファイルを書き込みのために開こうとした場合) にもそれらのコンストラクタによってスローされます。 [ メッセージ編集済み 編集者: ひろ 編集日時 2006-11-09 15:17 ] [ メッセージ編集済み 編集者: ひろ 編集日時 2006-11-09 15:50 ] | ||||||||
|
投稿日時: 2006-11-09 15:37
http://http://serv:1000/test_site/TESTとhttp://が2回繰り返し出力されているようですが、どこかでゴミが混じって、単にそのURLに接続できないだけではないですか?
接続できない場合を想定して、URLConnection#setConnectTimeout(int)を使用して、 タイムアウトを設定したら、処理が停止したようにはならないのではないでしょうか。 | ||||||||
|
投稿日時: 2006-11-09 15:38
なんだか腑に落ちないですね。
以下の点が不明です。
| ||||||||
|
投稿日時: 2006-11-09 15:54
アドレスが変になっていたのは,ここに一旦投稿した後,セキュリティの問題上 アドレスをそのまま掲載する事は不味いかと思い修正しました。 その時に修正ミスをしていました。 |