1

Spring の非同期呼び出しの使用方法に関するこのページを読んでいました: https://spring.io/guides/gs/async-method/

これにより、いくつかの設計上の問題が生じます。

1) 非同期機能を抽象化の背後に隠していますか、それとも直接使用していますか?

2) 上記のリンクの例では、各非同期呼び出しが返されたかどうかを 10 ミリ秒ごとにチェックする「while ループ」がコードに含まれていました。これを実装する他の方法はありますか?その後、進行中の「while」ループはありますか? :)あまり効率的ではありません...

ありがとう!

4

2 に答える 2

0

1) 私の経験では、非同期機能は直接使用されます。クライアントは、API を利用して応答を待つことができるように、応答がすぐに得られないことに注意する必要があります。これはにつながります...

2) ポーリング。いいえ、効率的ではありません。しかし、これは非同期通信を処理するための一般的なアプローチです。別のアプローチは、コールバックまたはイベントベースのメカニズムですが、ReST API で実装されているのは見たことがありません。

  • HTTPはポーリングをサポートするように設計されていることに注意してください。非同期操作の場合、サーバーは 202 (Accepted) を返します。202 応答の本文には、ステータスの更新をポーリングできる別のエンドポイントへのリンクが含まれている場合があります。ステータス チェック エンドポイントは、非同期処理が完了すると 303 (その間は 404) を返します。
于 2016-03-01T14:20:24.713 に答える