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]

Reply via email to