Details
-
Bug
-
Status: Closed
-
Critical
-
Resolution: Fixed
-
2.17.0
-
None
-
None
Description
The codebase is using javax.security.cert.X509Certificate in various places. This was noted superceded by the java.security.cert replacement since ~Java 1.4, and marked deprecated in Java 9 along with the entire javax.security.cert package. The deprecation was raised to for-removal status in Java 13 [1].
Building using Java 16 [2] without using the -release flag (which doesnt actually work for Artemis due to API usages that -release doesnt permit) means the build uses the Java 16 signatures when compiling regardless what the -target version is, which has the side effect of helpfully pointing out a lot of deprecated-for-removal APIs that the codebase is still using.
They have actually removed the impl for some of the deprecated bits in Java 15 already [3], e.g changing them to default interface methods that throw UnsupportedOperationException, meaning no current Artemis release works on Java 15+ if using SSL/TLS and calling those methods.
[1] https://bugs.openjdk.java.net/browse/JDK-8160247
[2] https://github.com/apache/activemq-artemis/runs/2598974966?check_suite_focus=true
[3] https://bugs.openjdk.java.net/browse/JDK-8241047
Attachments
Issue Links
- relates to
-
ARTEMIS-3296 enable building on Java 16
- Closed
- links to