サーブレットで擬似的にレスポンスタイムアウト状況を作り出す一般的な方法を教えてください。


現在、
javax.servlet.http.HttpServlet.service
内でタイマーでウェイトする方法を考えています。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2004/09/15 14:21:29
  • 終了:--

回答(4件)

id:MIZOMIZO No.1

みぞやん回答回数27ベストアンサー獲得回数02004/09/15 14:24:54

ポイント17pt

無限ループさせてもよいのではないでしょうか?

一応、問題文を読んで簡単に問題を解説するならこの方法じゃないですか?

id:kunitz

ありがとうございます!

無限ループ

2004/09/15 14:26:11
id:esseesse No.2

esseesse回答回数192ベストアンサー獲得回数02004/09/15 15:08:44

ポイント17pt

http://www.atmarkit.co.jp/fjava/rensai2/jspservlet06/jspsevlet06...

@IT:連載 基礎から学ぶサーブレット/JSP 第6回

処理をもちきりにしたいのであればウェイトをかけた無限ループがいいと思いますが、普通にタイムアウトさせたいのであればresponse.setStatus(408)をしてしまうのが一番楽なのではないでしょうか。

# 質問の趣旨がすぐに408を返してはいけないというのであればすみません。

id:kunitz

ありがとうございます!

「1分間レスポンスが返ってこない状況」

を作ろうとしています。

2004/09/15 15:11:20
id:esseesse No.3

esseesse回答回数192ベストアンサー獲得回数02004/09/15 15:15:49

ポイント18pt

http://java.sun.com/j2se/1.4/ja/docs/ja/api/java/lang/Thread.htm...

Thread (Java 2 プラットフォーム SE v1.4.0)

1分間待つ、というのであれば、Thread.sleep(60000)でいかがでしょうか。

sleepの引数の単位はミリ秒です。

id:kunitz

ありがとうございます!

Thread.sleep(60000)

2004/09/15 15:16:20
id:ohayo111 No.4

ohayo111回答回数90ベストアンサー獲得回数02004/09/15 15:22:48

ポイント18pt

Thread.sleep()は利用できませんか?

class SleepTest {

public static void main(String[] args) throws InterruptedException {

try {

Thread.sleep(2000);

} catch (InterruptedException e) {

System.out.println(e);

}

}

}

id:kunitz

ありがとうございます!

Thread.sleep(2000);

既出です。

2004/09/15 15:23:40

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません