Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [jetty-dev] Jetty upgrade with ALPN

Hi Joakim,

Thanks for the update. I would still like to understand this a bit further for the following 2 questions:

2. Do we also need jetty-alpn-openjdk8-client artifact in the class path to be set?

Yes, as Java 8 does not have ALPN support built in. (ALPN support in java was introduced in Java 9)
Neha: We are currently using JDK 8 with Jetty v9.4.7.v20170914, but we never had to set the openjdk8 library in the class path. Now, it seems that with the upgrade, this needs to be done. Has this implementation changed in the newer version of Jetty i.e.v v9.4.15.v2019021 that we are trying to upgrade to?
 
3. We have test cases that use embedded Jetty server and so I assume that for the test cases to work, we would need jetty-alpn-openjdk8-server in the classpath.
Neha: We are currently using JDK 8 with Jetty v9.4.7.v20170914, but we never had to set the openjdk8 library in the class path. Now, it seems that with the upgrade, this needs to be done. Has this implementation changed in the newer version of Jetty i.e.v v9.4.15.v2019021 that we are trying to upgrade to?

Thanks
Neha 



On Thu, Apr 25, 2019 at 5:14 PM Joakim Erdfelt <joakim@xxxxxxxxxxx> wrote:
On Thu, Apr 25, 2019 at 6:43 PM Neha Munjal <neha.munjal3@xxxxxxxxx> wrote:
Hi,

We are currently using Jetty 9.4.7.v20170914 in our product. Essentially we use Jetty client libraries to be able to perform HTTP/2 communication.
With this version for ALPN to work, we start the JVM by setting Xbootclasspath argument as:
-Xbootclasspath/p:<path to alpn-boot-8.1.12.v20180117.jar> (we are on JDK 8)

See alpn versions list to know what version of alpn-boot you need for the JVM you are running.
 

Now we are in the process of upgrading to Jetty v9.4.15.v2019021 and I see the following notes in ALPN section on the Jetty prject page:

"To get ALPN working with the Jetty ALPN Boot library, you need:

to start the JVM with the Jetty ALPN Boot library in the boot classpath
to have the jetty-alpn-openjdk8-client artifact or the jetty-alpn-openjdk8-server artifact in the classpath"

I have some questions around this:

1. We definitely need the ALPN boot library in the boot class path?

Yes, as that's how ALPN is added to Java 8.  (If you use Java 9+ then this requirement goes away)
 
2. Do we also need jetty-alpn-openjdk8-client artifact in the class path to be set?

Yes, as Java 8 does not have ALPN support built in. (ALPN support in java was introduced in Java 9)
 
3. We have test cases that use embedded Jetty server and so I assume that for the test cases to work, we would need jetty-alpn-openjdk8-server in the classpath.

Yes, and you'll need the correct alpn-boot for your version of Java.
If you are using maven, consider using the automatic profiles based on the running version of Java.

See Jetty's own pom.xml
Don't forget about the undefined default value in your <properties> section (see line 30)

You can also opt to run your builds with Conscrypt instead of alpn-boot boot classpath requirement.
Or you can run your builds with Java 9+ and skip the alpn-boot boot classpath requirement as well.

There's also an alpn-agent you can use to attempt to manage the boot classpath.
But that means you'll have a static java agent command line option for all versions of Java 8, instead of a dynamic boot classpath command line argument based on the runtime java version.


Please confirm answers to above 3 questions, needed for this upgrade.

Thanks
Neha
_______________________________________________
jetty-dev mailing list
jetty-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-dev
_______________________________________________
jetty-dev mailing list
jetty-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://www.eclipse.org/mailman/listinfo/jetty-dev

Back to the top