2017-10-30 14 views
3

documentationによると、ネッティーなど、さまざまなサーバと春の反応性のWebClientを使用することが可能である:Nettyの代わりにJettyでSpring WebClientを使用するには?

Webクライアントは、HTTPクライアントライブラリの上に、より高いレベルのAPIを提供します。 デフォルトではReactor Nettyが使用されますが、これは別の ClientHttpConnectorでプラガブルになります。

しかし、私はこれを行う方法を見つけることができませんでした。私は単純に、このように桟橋にネッティーから依存関係を変更する場合:

compile('org.springframework.boot:spring-boot-starter-webflux') { 
     exclude group: 'org.springframework.boot', module: 'spring-boot-starter-reactor-netty' 
} 
compile group: 'org.springframework.boot', name: 'spring-boot-starter-jetty', version: '2.0.0.M5' 

私のアプリケーションは起動に失敗します:

2017-10-30 15:40:43.328 ERROR 20298 --- [ restartedMain] o.s.boot.SpringApplication    : Application startup failed 

java.lang.NoClassDefFoundError: reactor/ipc/netty/http/client/HttpClient 

はもちろん、私はもっと何かをする必要があります。しかし、この github issueは、WebClientをNettyなしで使用できないという印象を与えてくれます。

WebClientのNetty実装を置き換えることはできますか?

答えて

2

今のところ、Spring Frameworkでは、WebClientにはReactor Nettyによって強化されたClientHttpConnector実装が1つしかありません。これは現在の状況を説明しています - WebClientを使用すると、Reactor Nettyが依存する必要があります。

代替としてJetty Clientをサポートすることに関する既存の問題があります。SPR-15092を参照してください。

関連する問題