問題タブ [spring-cloud-feign]

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 投票する
3 に答える
40845 参照

rest - 基本的な例で Feign Client を動作させることができない

Feign Client を動作させることができません。最初に POST で試してみました。タイプが正しくないというエンコーダー/デコーダーに関連するエラーが発生し続けました。次に、github で単純な GET API を呼び出す例を最終的に見つけ、試してみることにしました。それでも失敗する

Github とオンラインで、Feign Client Spring-Cloud、OpenFeign、Netflix.feign の複数のバージョンが異なるバージョンで表示されています。本番環境で使用する必要がある、最適で安定した Feign クライアントを説明できる人はいますか?

応用:

AutoWire の問題を解決できると考えて、注釈のすべての可能な順列を試しましたが、それでも失敗します

2016-07-20 18:15:42.406[0;39m [31mERROR[0;39m [35m32749[0;39m [2m---]0;39m [2m[メイン]][0;39m [36mo.s.boot .SpringApplication [0;39m [2m:[0;39m アプリケーションの起動に失敗しました

org.springframework.beans.factory.BeanCreationException: 「testWLCController」という名前の Bean の作成中にエラーが発生しました: 自動配線された依存関係の注入に失敗しました。ネストされた例外は org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient; です。ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'com.aa..controllers.GetFeignClient' という名前の Bean の作成中にエラーが発生しました: FactoryBean がオブジェクトの作成時に例外をスローしました。ネストされた例外は、org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:334) ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE] で java.lang.NullPointerException です。組織 run(SpringApplication.java:1180) [spring-boot-1.3.5.RELEASE.jar:1.3.5.RELEASE] at com.paa.ServiceApplication.main(ServiceApplication.java:44) [bin/:na] 原因: org.springframework.beans.factory.BeanCreationException: フィールドを自動配線できませんでした: プライベート com.paa.controllers.GetFeignClient com.paa.controllers.TestWLCController.gfClient; ネストされた例外は org.springframework.beans.factory.BeanCreationException: 'com.paa.controllers.GetFeignClient' という名前の Bean の作成中にエラーが発生しました: FactoryBean がオブジェクトの作成時に例外をスローしました。ネストされた例外は、org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:573) で java.lang.NullPointerException です ~[spring-beans-4.2.6.RELEASE.jar:4.2.6.RELEASE ] org.springframework.beans で。

0 投票する
0 に答える
360 参照

spring-security-oauth2 - 特定の FeignClient の RequestIntercepor

AccessToken を OAuth2ClientContext から RequestTemplate のヘッダーに自動的にコピーする RequestInterceptor があるため、内部サービスは、シナリオを開始したモバイル デバイスから取得したものと同じ AccessToken を使用して相互にシームレスに呼び出します。これが、サービス メソッドの承認を管理する方法です。これはインターセプター コードです。

これは @Beans 構成です。

問題は、さまざまな FeignClient があり、その一部が SMS テキストに使用するサービスなどのサードパーティ サービス用であり、そこに AccessToken を送信したくないことです。

RequestInterceptor 内でどの FeignClient から来たのかを判断するにはどうすればよいですか?

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

spring-cloud - Spring Cloud Feign: Feign は RestTemplate と比較して十分に効率的ですか?

Feign のソース コードをざっと見てみると、Feign は JDK を使用してHttpUrlConnectionHTTP リクエストを発行し、接続プールを使用せずにリクエストが終了したら閉じることがわかりました。私はこの種の方法の有効性を疑っています。次に、Apache Http Client または OKHttp に切り替えて HTTP リクエストを送信できるRestTemplateというSpring のドキュメントを読みました。RestTemplate

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

RestTemplate はパフォーマンスの観点から Feign よりも優れているということですか?

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

spring-cloud - Spring Cloud: @FeignClient で Hystrix を構成する方法

次のサービスがあります。

デフォルトのタイムアウトとスレッド プール サイズを変更するには?

0 投票する
0 に答える
2844 参照

spring-cloud - Feign: Spring は jar ファイルで @FeignClient Bean を自動配線できません

@FeignClient宣言がありea.jarます:

この jar を maven の依存関係として追加してから、注入します。

私はいつも得ましたNoSuchBeanDefinitionException

しかし、@FeignClient宣言を同じプロジェクトに移動すると (jar 依存関係として追加されない)、この例外はなくなります。

これについてはわかりません、助けてください

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

spring-boot - java.lang.IllegalStateException: IP に使用できるインスタンスがありません

以下は私のbomマイクロサービスです:

上記のマイクロサービスは、マイクロサービスの一部である別のマイクロサービスへの残りの呼び出しを実行しようとしています。

以下の例外が発生します。

Eureka、BOM、および Part マイクロサービスが Azure にデプロイされています。Eureka は両方のマイクロサービスを登録し、「/service-instances/plm-part-ms」を使用してマイクロサービスの詳細を bom マイクロサービスに分割することもできます。ここで、「plm-part-ms」は部分マイクロサービスのスプリング アプリケーション名です。どんな助けでも大歓迎です!

0 投票する
0 に答える
364 参照

spring-boot - Spring Cloud と Spring Boot で適格なプロパティを使用して Eureka でサービスを発見するにはどうすればよいですか

Spring Boot を使用して開発された約 50 のマイクロサービスがあります。Spring Cloud を使用してサービスを Eureka に登録し、Feign を使用してコンシューマからサービスを呼び出します。@FeignClient("<foo>")コントラクトは非常に標準的で、コンシューマーはアノテーション付きのインターフェースを使用してfoo、Eureka に登録されているサービスを見つけます。ターゲット サービスでの登録、ルックアップ、および呼び出しはすべて、サービスの 1 つまたは複数のインスタンスが実行されている状態で期待どおりに機能します。

foo各インスタンスが特定のステレオタイプまたは指定を持つ複数のインスタンスを同じサービスが実行している可能性があるという新しい要件があります。たとえば、 の一部のインスタンスはfooサードパーティ統合の同期ワークロードをfoo処理することが期待されており、 の一部のインスタンスは内部メッセージ (非同期ワークロード) を処理することが期待されています。ブートストラップ (Spring Cloud 構成の一部を介して実行) で定義されるサービスで呼び出される構成プロパティをstereotype定義し、サービス インスタンスにワークロードを処理するsyncように指示します。async構成は次のようになります。

さらに、このプロパティをサービス登録時にプロパティeureka.instance.metadatamapとしてエウレカのマップに追加します。Eureka が登録されると、サービスに対してこの値が表示されるようになったことがわかります。stereotypefoofoo

ここまでは順調ですね。今質問:

DiscoveryClientまたは Feign to lookupのいずれかに構成 (または注釈) メカニズムがありますが、修飾子としてfooを使用しています。stereotype言い換えれば、コンシューマ アプリケーションが Eureka をルックアップするとき、Eureka に、たとえばstereotypeisのインスタンスのみを与えるように指示できますasyncか? これが可能であれば、コンシューマー コンポーネントは、非同期ワークロードfooを処理するインスタンスにのみ非同期ワークロードが送信されるようにすることができます。

これまでのところ、私の研究では何も見つかりませんでした。ここで概説されているようにDiscoveryClientEureka REST インターフェイスを使用し、返された各インスタンスのメタデータ マップを検索してターゲット エンドポイントを見つけるサンプル (オーバーライドできる可能性があります) を作成しました。しかし、それは力ずくのように聞こえました。できれば既存のメカニズムの 1 つを使用してこれを行うのが理想的です。これにより、車輪を再発明する代わりに、Feign の負荷分散と再試行機能を引き続き使用できるようになります。GET /eureka/v2/apps/appID

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

spring-cloud-netflix - Spring Cloud Feign: Feign が POST リクエストの発行時に HTTP ボディにパラメーターを入れない

これが私の Feign インターフェイス定義です。

これはPOSTリクエストですが、feignはリクエスト本文の代わりに URL にpageandを入れます:size

理由がわかりません

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

java - HystrixFeign クライアント フォールバックで原因を取得する際の問題

HystrixFeign クライアントがあり、サービス呼び出しが失敗した問題を修正できるように、フォールバックの理由を知りたいので、フォールバックの実装で原因/例外を取得しようとしています。しかし、以下の実装では原因がわかりません。これは問題なく機能し、フォールバックは常に呼び出されています。しかし、私には理由がわかりません。Feign と Hystrix は初めてです。私のアプリケーションは 1.6 年前に Java で書かれており、これは拡張呼び出しの一種です。だから私はラムダ式に行くことができません。

以下のように定義されたクライアントインターフェイスがあります

私の FeignClientFacory は以下のようなものです