2017-08-01 6 views
0

私はReactor 3をJavaで使用しているだけです。 reactor-nettyを使ってhttpサービス用のクライアントを実装したいと思います。これまでは、非常に基本的なHTTP要求が完全に送信されています。しかし、このサービスは、クライアントがラテリットを守ることを期待しています(クライアントに伝統的なX-RateLimit-Limit,X-RateLimit-Remainingなどのヘッダーを知らせる)。Reactorでhttp ratelimitedサービスを再試行する

リクエストが自動的に再試行されますが、反応ストリームでこれを行うための最も「慣用的」または効率的な方法は何か分かりません。私は単にストリームスレッドで寝ることができないので、代わりに何を見ているべきですか?私がこれまでに読んだことから、私はこの仕事のために背圧を利用したいと考えていると思うが、どこから始めたらいいか分からない。

ご迷惑をおかけして申し訳ありません。レート制限信号が応答から来ている場合は、これを達成するための

答えて

0

一つの良い方法は、特定の例外にその変換あなたの応答MonoonError経由で伝播すると遅延の再試行のためretryWhen演算子を使用することです。 reactor-extraアーティファクト(groupIdをio.projectreactor.addons)で

あなたはretryWhenためFunctionのビルダーとして使用することができますRetryユーティリティクラスを持っています。

関連する問題