I went thru this page: https://www.eclipse.org/jetty/documentation/9.3.x/alpn-chapter.html to have an ALPN boot jar in my classpath and still I can't get it working.
I am confused as to know if I need an Open SDK Java 8 than Oracle Java 8.
My Java version is:
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)
And I'm using the following versions of Jetty and 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>
Also I tried using different versions of Jetty and ALPN which I found here https://mvnrepository.com/artifact/org.mortbay.jetty.alpn/alpn-boot and here https://mvnrepository.com/search?q=org.eclipse.jetty
Whichever ways I tried I never got it working submitting a POST request to an HTTP/2 endpoint.
However with Netty and the following dependency my tests were successful:
<dependency>
<groupId>io.netty</groupId>
<artifactId>netty-tcnative-boringssl-static</artifactId>
<version>1.1.33.Fork22</version>
</dependency>
Where do I find the documentation to see which version of ALPN boot is compatible with Oracle JDK? Is ALPN boot only compatible with OpenJDK?
I read that starting Java 9 support for ALPN will be native.
On a side note, which one is better? Netty or Jetty for HTTP/2 calls.
Netty is preferred for several reasons for making Http/2 connections. Few advantages I have seen using it are :