2016-10-14 11 views
2

ベンチマークの後、AsyncHttpClient(https://github.com/AsyncHttpClient/async-http-client)は、NIOに基づいており、ロード中に非常にうまくスケーリングできるように見えるので、そこでは最も安定でスケーラブルな非同期HTTPクライアントと思われます。私はそれをOkHttpとApache Asyncと比較し、待ち時間のあるバックエンドをシミュレートするときにはうまくいくように思えます。AsyncHttpClientのRestTemplate

残念ながら、私はまだSpring AsyncRestTemplateとして公開する方法を見つけていないため、既存のコードベースでの移行が苦労しています。

RestTemplateがライブラリを使用する良い橋を知っている人はいますか?そうでない場合は、Springプロジェクトで他のAsync httpクライアント工場に問題を作成する方法を教えてください。

答えて

-1

ここには、Spring RestTemplateの公式なJavaドキュメントがあります。

注:デフォルトでRestTemplateは標準のJDK機能を使用して HTTP接続を確立しています。 HttpAccessor.setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory) プロパティを使用して、Apache HttpComponents、Netty、およびOkHttpなどの別のHTTP ライブラリを使用するように切り替えることができます。

EDIT: ここでOK、あなたがスプーンfeeded答えを行く:

AsyncRestTemplate template = new AsyncRestTemplate(
       new HttpComponentsAsyncClientHttpRequestFactory()); 

HttpComponentsAsyncClientHttpRequestFactoryあなたはそれが何AsyncRestTemplateだ、非同期要求のためRestTemplateを使用することはできません4.0

+0

これはOPの質問に全く答えません。あなたは 'AsyncHttpClient'をサポートする方法を言わなかっただけで、あなたは単にあなたがインターネットに接続していることを証明しました。 –

+0

@AbhijitSarkar、この回答の否定的な投票を削除しても構いませんか? – kiran

+1

まず、匿名で倒産しているので、それが私か他の誰かであるかどうかは分かりません。第二に、私があなたに投票した場合、それには理由があったはずです。あなたは私の心を変えることができると思いますか?人々があなたの答えを気に入らないかもしれないことはいつも起こります。進む。 –

0

ので、春の一部であり、 〜のためです。独自のAsyncClientHttpRequestFactoryを実装する必要があります。私はあなたの投稿にあなたが提供したリンクを簡単に見て、AsyncRestClientをラップしてBoundRequestBuilderAsyncClientHttpRequestFactory.createAsyncRequestに返すように見えました。その後、基本的には、Spring固有のインタフェースからの呼び出しをAsyncRestClient固有のクラスに委譲する必要があります。それはあまりにも難しくはありません。

つまり、Spring 5 Webにはasync以上のWebClientが付属しています。自分の非同期ライブラリを構築する前に、それを真剣に検討することをお勧めします。

+0

答えをありがとう。 AsyncHttpClientを使用する理由は、私が試したHTTPクライアントの負荷が高い中で動作している最善のクライアントであることがわかったからです。 – Billybong

+0

@Billybong ok、しかしあなたが選んだものを選んだ理由を尋ねたことは覚えていません –

+0

私はまだパフォーマンステストをしていないWebClientを暗示しました。そのルート。 @Billybong私は見る。 – Billybong