問題タブ [asyncresttemplate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2391 参照

spring - Spring AsyncRestTemplate 接続プールとスレッド プールの設定

サービスで REST 呼び出しを行うために AsyncRestTemplate を使用したいと考えています。Spring のドキュメントによると、このクラスには 5 つのコンストラクターがあります ( http://docs.spring.io/spring/docs/current/javadoc-api/org/springframework/web/client/AsyncRestTemplate.htmlを参照) 。

AsyncRestTemplate(AsyncClientHttpRequestFactory asyncRequestFactory) - この AsyncClientHttpRequestFactory 引数を使用して、接続プールを構成できます。

AsyncRestTemplate(AsyncListenableTaskExecutor taskExecutor) - これを使用して、非同期操作用のスレッド プールを構成できます。

AsyncRestTemplate で接続プールとスレッド プールの両方を構成できる方法があるかどうか知りたいです。

よろしくお願いします。

0 投票する
2 に答える
864 参照

java - Spring の AsyncRestTemplate が圧縮されたコンテンツで機能しない、json オブジェクトの代わりに圧縮されたコンテンツを取得する

Spring Boot アプリでコンテンツ圧縮を有効にしましたが、すべての API の応答が圧縮されていますが、これらの API を使用してヒットするRestTemplateと、次のようなコンテンツが得られます

ただし、交換リクエストにヘッダーを設定しながらオブジェクトHttpClientBuilder.create().build()を作成して追加すると、API自体が文字列を返すため、適切なjsonオブジェクトを文字列形式で受け取ります。RestTemplateheaders.set("Content-Encoding", "gzip"); headers.set("Accept-Encoding", "gzip");

しかし、既存のオブジェクトを使用してオブジェクトをAsyncRestTemplate作成したとしても、を使用してこれらの API にアクセスしているときに同じ問題に直面しています。AsyncRestTemplateRestTemplate

私が持っている1つの方法は、自分でスレッドプールを実装してから、を使用してリクエストをヒットするRestTemplateことですが、スレッドメカニズムを実装せずに圧縮コンテンツの代わりにjsonオブジェクトを取得する方法があることを知りたいです.

以下は完全なコードです

0 投票する
1 に答える
234 参照

spring - AsyncRestTemplate が DELETE エンドポイントを呼び出していない

火と忘れの方法で削除メソッドを使用して残りのエンドポイントを呼び出す必要があります。結果は気にしない。AsyncRestTemplate を使用しようとしていますが、サーバー側が呼び出されていません。RestTemplate に切り替えると、すべてが機能します。それから私は応答を待っているときに気づいた

それも機能しています。PUT エンドポイントの呼び出しは問題なく機能します (get() メソッドを呼び出す必要はありません)。次に、応答を待ちたくないので、タイムアウトを使用しようとしました。

私のマシンでは、1 ミリ秒のタイムアウトを設定すると、50% の確率でエンドポイントが呼び出されます。50 ミリ秒では 100% の可能性が高すぎます...

何が問題なのですか?

編集:

私も試しました

これは機能しました。

get() メソッドを呼び出さないと機能しませんでした。