3

私の偽のクライアントは現在、Eureka を使用してサービス インスタンスを検出できません。私の構成には、次の注釈が含まれています。

@Configuration
@ComponentScan
@EnableAutoConfiguration
@EnableDiscoveryClient
@FeignClientScan

次の依存関係を含めました (spring-cloud 1.0.0-BUILD-SNAPSHOT):

org.springframework.cloud:spring-cloud-starter-eureka
com.netflix.feign:feign-core
com.netflix.feign:feign-ribbon

私が知る限り、偽のクライアントは a を使用するため、使用可能なサービス インスタンスのアドレスを構成ファイル (プロパティ)ConfigurationBasedServerListで明示的に指定する必要があります。ribbon.serverList

ただし、明示的に指定すると、すべてが正常に機能します。

ribbon.NIWSServerListClassName: com.netflix.niws.loadbalancer.DiscoveryEnabledNIWSServerList

私のテスト アプリケーションは、Eureka 対応のリボン実装を使用するように自動的に構成された Spring RestTemplate ベースのクライアントも使用します。奇妙なことは、RestTemplate が最初に呼び出された場合、Feign クライアントが正常に動作している (つまり、サービス インスタンスを見つけている) ことです。RestTemplate セットアップは、どこかでいくつかの (静的) 初期化を実行するように見えます。これは、偽のクライアントに役立ちます。

Feign サポートの設定方法に何か見落としがありますか?

4

0 に答える 0