-1
OpenJDK 8の場合、Jetty alpn-bootを評価してALPN(およびHTTP/2)のサポートを追加しています。しかし、問題は、jarファイルをブートクラスパスに入れる必要があり、すべての環境(顧客のサーバーなど)でwebappに常に存在することを保証できないことです。ALPNがサポートされていることを確認してください
だから私は次のようにフォールバックメカニズムが必要になりますALPNはHTTP/2サーバーへの実際の接続を行うことなくサポートされている場合、私は確認することができ
if (isAlpnSupported()) {
/* use HTTP/2 protocol */
} else {
/* fallback legacy code */
}
? Webアプリケーションは、両方のHTTP/1.1とHTTPサポートする別のサーバーにHTTPリクエストを実行する場合にのみ有用であろう
boolean isALPNPresent() {
try {
ClassLoader.getSystemClassLoader().loadClass("org.eclipse.jetty.alpn.ALPN");
return true;
} catch (Throwable x) {
return false;
}
}
:ALPNが存在するかどうかを確認する
'catch(Throwable x)'はちょっと醜いですが、私は感謝しました。 – holmis83