This is an automated email from the ASF dual-hosted git repository.
markt-asf pushed a commit to branch 10.1.x
in repository https://gitbox.apache.org/repos/asf/tomcat.git
The following commit(s) were added to refs/heads/10.1.x by this push:
new 90fbbd9041 Simplify construction of Jre22Compat
90fbbd9041 is described below
commit 90fbbd904185f4113c2229f74d333f68716e5976
Author: Mark Thomas <[email protected]>
AuthorDate: Thu May 21 08:49:28 2026 +0100
Simplify construction of Jre22Compat
Retain JreCompat architecture:
- for consistency with Tomcat 9 where Runtime.version() is not available
- so support for Java 22 specific methods can be added if required
---
java/org/apache/tomcat/util/compat/Jre22Compat.java | 21 +--------------------
.../tomcat/util/compat/LocalStrings.properties | 3 ---
.../tomcat/util/compat/LocalStrings_fr.properties | 3 ---
.../tomcat/util/compat/LocalStrings_ja.properties | 3 ---
4 files changed, 1 insertion(+), 29 deletions(-)
diff --git a/java/org/apache/tomcat/util/compat/Jre22Compat.java
b/java/org/apache/tomcat/util/compat/Jre22Compat.java
index fec9431909..60f253a724 100644
--- a/java/org/apache/tomcat/util/compat/Jre22Compat.java
+++ b/java/org/apache/tomcat/util/compat/Jre22Compat.java
@@ -16,10 +16,6 @@
*/
package org.apache.tomcat.util.compat;
-import org.apache.juli.logging.Log;
-import org.apache.juli.logging.LogFactory;
-import org.apache.tomcat.util.res.StringManager;
-
/**
* JRE 22 compatibility implementation.
*/
@@ -31,26 +27,11 @@ public class Jre22Compat extends Jre21Compat {
public Jre22Compat() {
}
- private static final Log log = LogFactory.getLog(Jre22Compat.class);
- private static final StringManager sm =
StringManager.getManager(Jre22Compat.class);
-
private static final boolean supported;
static {
- // Note: FFM is the main new feature from Java 22, but it was
previously
- // present as a preview. As a result, it is more accurate to test for
another
- // new class
- Class<?> c1 = null;
- try {
- c1 = Class.forName("java.text.ListFormat");
- } catch (ClassNotFoundException e) {
- // Must be pre-Java 22
- if (log.isDebugEnabled()) {
- log.debug(sm.getString("jre22Compat.javaPre22"), e);
- }
- }
- supported = (c1 != null);
+ supported = Runtime.version().feature() > 21;
}
static boolean isSupported() {
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings.properties
b/java/org/apache/tomcat/util/compat/LocalStrings.properties
index 88cc317659..3d062393c5 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings.properties
@@ -28,9 +28,6 @@ jre19Compat.javaPre19=Class not found so assuming code is
running on a pre-Java
jre21Compat.javaPre21=Class not found so assuming code is running on a
pre-Java 21 JVM
jre21Compat.unexpected=Failed to create references to Java 21 classes and
methods
-jre22Compat.javaPre22=Class not found so assuming code is running on a
pre-Java 22 JVM
-jre22Compat.unexpected=Failed to create references to Java 22 classes and
methods
-
jreCompat.noUnixDomainSocket=Java Runtime does not support Unix domain
sockets. You must use Java 16 or later to use this feature.
jreCompat.noVirtualThreads=Java Runtime does not support virtual threads. You
must use Java 21 or later to use this feature.
jreCompat.useCanonCaches.failed=Failed to set the
java.io.FileSystem.useCanonCaches static field
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
index 016fb3e010..053d0ac67e 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_fr.properties
@@ -23,7 +23,4 @@ jre18Compat.javaPre18=Le code est considéré être exécuté sur
une JVM antér
jre19Compat.javaPre19=Classe non trouvée donc le code est exécutée sur une JVM
antérieure à Java 19
-jre22Compat.javaPre22=Le code est considéré être exécuté sur une JVM
antérieure à Java 22 car la classe n'a pas été trouvée
-jre22Compat.unexpected=Impossible de créer les références vers les classes et
méthodes de Java 22
-
jreCompat.noUnixDomainSocket=L'environnement Java ne supporte pas les sockets
de domaine de Unix, cette fonctionnalité demande Java 16
diff --git a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
index e66d9dffcc..dffcb38337 100644
--- a/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
+++ b/java/org/apache/tomcat/util/compat/LocalStrings_ja.properties
@@ -23,7 +23,4 @@ jre18Compat.javaPre18=メソッドが見つからないため、Java 18 以前
jre19Compat.javaPre19=クラスが見つからないため、Java 19より前のJVMでコードが実行されていると仮定します
-jre22Compat.javaPre22=クラスが見つからないため、コードが Java 22 以前の JVM で実行されていると仮定します
-jre22Compat.unexpected=Java 22のクラストメソッドへの参照を作成するのに失敗しました
-
jreCompat.noUnixDomainSocket=Java実行環境はUnixドメインソケットに対応していません。 この機能を使用するには、Java
16を使用する必要があります。
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]