2017-02-20 26 views
16

JAX-RSクライアント用にHTTP/1.1およびHTTP/2をサポートするJAX-RSクライアントを実装したいとします。JAX-RSクライアントでHTTP/1.1およびHTTP/2をサポート

サーバーがHTTP/2でALPNをサポートしていて、サーバーが情報を提供しない場合はHTTP/1.1を使用するという考え方です。

私はALPNに関するいくつかの記事を読んでいますが、これは可能ですが、これらのプロトコルを同時にサポートするものは見つかりません。私はこれらをまとめて管理していませんでした。

私は現在Jetty HTTP/1.1 transport connector for Jerseycustom implementation for HTTP/2 transport connectorを使用しています。

+4

ALPNに基づいて使用するトランスポートの動的選択をサポートするためにJettyに[問題を開く](https://github.com/eclipse/jetty.project/issues)をします。これにより、両方のプロトコルで動作するジャージートランスポートを1つだけ作成します。ありがとう! – sbordet

+2

@sbordet私は[issue](https://github.com/eclipse/jetty.project/issues/1350)を作成しました –

+0

あなたのアプリケーションで非同期呼び出しを使用しようとしています –

答えて

0

https://github.com/nhenneaux/jaxrs-http2-example

は、例えばこれを見て、ない非同期呼び出しがないことを確認してください。

+0

私はこのリポジトリのメンテナーですが、非同期で問題が発生しましたか?このリポジトリからのHTTP2 Jettyコネクタの実装は、私が現時点で使用しているものですが、HTTP/1.1とHTTP/2.0はサポートしていません。これはHTTP/2.0のみをサポートします。 –

+0

こんにちはNicolas、実行中にエラーが発生しました。javax.ws.rs.ProcessingException:java.util.concurrent.ExecutionException:java.nio.channels.AsynchronousCloseException \t at rest.util.JettyHttp2Connector.apply –

+0

@kapildasジャージー2.26にもう一度やり直せますか?リポジトリの名前をhttps://github.com/nhenneaux/jersey-http2-jetty-connectorに変更しました。 –

関連する問題