0

私は play 1.2.5 を使用しており、REST サービスに非同期呼び出しを行っています。

そのために、promise オブジェクトを作成し、この promise オブジェクトを await() メソッドのパラメーターとして指定しました。await() メソッドは httpResponse オブジェクトを返します。

正常に動作し、REST サービスが応答を返します。しかし、REST サービスが応答しない場合 (REST サービスがダウンしている可能性があります)、httpResponse で null を取得します。しかし、返事が返ってくるまでに時間がかかります。

残りのサービスが promise に応答するまで待機する時間を構成できますか? そうでない場合、デフォルトの待機時間は何ですか?

どんな助けでも大歓迎です

4

2 に答える 2

1

If you use the play WS lib you have a timeout method on the WSRequest object where you can define the time it takes in seconds before the call returns back if there is no response

于 2013-01-10T06:29:41.600 に答える
0

WSRequest にタイムアウト呼び出しがあります。

WS.WSRequest wsReq = WS.url("http://whatever");
wsReq.timeout("1min");

...

を実行するpostAsync()と、promise が返されます。promise.onRedeem()エラーなどを処理するハンドラーを追加するために呼び出すこともできます。それを使用して、タイムアウト例外をキャッチできます。

于 2013-01-11T00:44:11.680 に答える