HTTP/2-Java-8, Jetty und ALPN
Ich ging durch diese Seite: https://www.eclipse.org/jetty/documentation/9.3.x/alpn-chapter.html eine ALPN boot jar in meinem classpath und noch immer kann ich nicht arbeiten.
Ich bin verwirrt, wie zu wissen, wenn ich brauche, ein Offenes SDK, Java 8 als Oracle Java 8.
Meine Java-version ist:
java -version
java version "1.8.0_11"
Java(TM) SE Runtime Environment (build 1.8.0_11-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.11-b03, mixed mode)
Und ich bin mit den folgenden Versionen von Jetty und ALPN boot:
<jetty-version>9.4.0.M1</jetty-version>
<alpn-version>8.1.9.v20160720</alpn-version>
<dependency>
<groupId>org.mortbay.jetty.alpn</groupId>
<artifactId>alpn-boot</artifactId>
<version>${alpn-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-client</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-client</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-http-client-transport</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-common</artifactId>
<version>${jetty-version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty.http2</groupId>
<artifactId>http2-hpack</artifactId>
<version>${jetty-version}</version>
</dependency>
Auch ich habe versucht, mit verschiedenen Versionen von Jetty und ALPN, die ich hier gefunden https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boot und hier https://mvnrepository.com/search?q=org.eclipse.jetty
Welche Möglichkeiten habe ich versucht ich habe nie, dass es Arbeit Einreichen, die einen POST-request an einen HTTP/2 Endpunkt.
Jedoch mit Netty und die folgende dependency meine tests waren erfolgreich:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>1.1.33.Fork22</version>
</dependency>
Wo finde ich die Dokumentation zu sehen, welche version von ALPN boot ist kompatibel mit Oracle JDK?
Ist ALPN boot-nur kompatibel mit OpenJDK?
Habe ich gelesen, dass es ab der Java-9-Unterstützung für ALPN wird in der Muttersprache.
On a side note, die besser ist? Netty oder Jetty für HTTP/2 ruft.
- ALPN versions-Tabelle hat die Liste von alpn-boot-Versionen auf java-Versionen, die Sie suchen
Du musst angemeldet sein, um einen Kommentar abzugeben.
Jettys ALPN boot jar funktioniert mit OpenJDK und Oracle JDK (basierend auf OpenJDK).
Jettys ALPN-boot-jar muss in den boot classpath, nicht die normale classpath ein, wie die Dokumentation, die Sie verknüpften, sagt.
Als solche müssen Sie nicht deklarieren, es als eine Abhängigkeit in Ihrem
pom.xml
Dateien (es gibt keine Notwendigkeit, so gibt es keine Notwendigkeit für Sie, um anzugeben, eine Abhängigkeit von den JDK-Klassen).JDK 9 wird ALPN native Unterstützung gibt es bereits einige arbeiten in diese Richtung.
Netty ist bevorzugt aus mehreren Gründen für das Http/2-verbindungen. Wenige Vorteile die ich gesehen habe, es zu benutzen sind :