Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Track backport of ALPN APIs to Java 8 #4443

Closed
sbordet opened this issue Dec 23, 2019 · 1 comment
Closed

Track backport of ALPN APIs to Java 8 #4443

sbordet opened this issue Dec 23, 2019 · 1 comment
Labels

Comments

@sbordet
Copy link
Contributor

sbordet commented Dec 23, 2019

Jetty version
9.4.x

Java version
8

Description
Oracle is planning to backport to Java 8 the ALPN APIs that were introduced in Java 9, see https://mail.openjdk.java.net/pipermail/jdk8u-dev/2019-November/010573.html.

This will probably land on 8u252, so from that release onward we will need to change the ALPN providers for Java 9+ to work also on 8u252+.

This may require some code changes, as well as Jetty module changes.

@sbordet sbordet added the Task label Dec 23, 2019
olamy added a commit that referenced this issue Mar 2, 2020
sbordet added a commit that referenced this issue Mar 3, 2020
Modified jetty-alpn-openjdk8-* classes to support both
pre 8u252 (via alpn-boot) and post 8u252 (via standard API).

Modified build to work with 8u252 without requiring
bootclasspath during test execution.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 3, 2020
Modified jetty-alpn-openjdk8-* classes to support both
pre 8u252 (via alpn-boot) and post 8u252 (via standard API).

Modified build to work with 8u252 without requiring
bootclasspath during test execution.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 7, 2020
For Jetty 9.2.x, supporting the backport of the JDK ALPN APIs
of JDK 8u252 would have required a number of backports from
Jetty 9.4.x.
Rather than doing all that work for an EOL Jetty branch, we
instead excluded the modules/tests that required ALPN, so
that the Jetty 9.2.x branch can still be built with 8u252
or later, but it will lack some of the artifacts.
Users needing those artifacts are encouraged to move to
Jetty 9.4.x or later.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 17, 2020
Continuous integration builds for Jetty 9.3.x are now done with Java 9.
Jetty 9.3.x needs Java 9+ to be built in order to build also the ALPN
modules that depend on Java 9 APIs.
Jetty 9.3.x would not be buildable with OpenJDK 8u252 or later,
but it is an EOL branch and required Java 9 to be built anyway.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 17, 2020
Modified jetty-alpn-openjdk8-* classes to support both
pre 8u252 (via alpn-boot) and post 8u252 (via standard API).

Replaced usages of -Xbootclasspath with -javaagent, and
using Jetty ALPN Agent jar rather than Jetty ALPN boot jar.

Removed all alpn-1.8.0*.mod files since now it is
possible to use a fixed version of the ALPN Agent
to cover all the versions.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 18, 2020
Improved logging after review.

Signed-off-by: Simone Bordet <[email protected]>
sbordet added a commit that referenced this issue Mar 18, 2020
…8u252

Issue #4443 - Track backport of ALPN APIs to Java 8.
sbordet added a commit that referenced this issue Mar 18, 2020
Updated documentation.

Signed-off-by: Simone Bordet <[email protected]>
@sbordet
Copy link
Contributor Author

sbordet commented Mar 19, 2020

@AlanBateman FYI this is now complete. We use reflection to detect whether the new APIs are available and use them if so.

The Jetty ALPN Agent has been updated to 2.0.10 to support all Java 8 versions, including 8u252 and later.

No more releases for the Jetty ALPN boot library since they are not required after 8u252.

@sbordet sbordet closed this as completed Mar 19, 2020
sbordet added a commit that referenced this issue Apr 18, 2020
Removed Java 8 profiles, not needed anymore.
Jetty 9.4.x requires Java 9+ to be built, in order to build Java 9 specific modules.
The ALPN boot jar used in tests was either replaced by the ALPN agent or the tests only run in Java 9+.

Signed-off-by: Simone Bordet <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant