Class JreCompat
java.lang.Object
org.apache.tomcat.util.compat.JreCompat
- Direct Known Subclasses:
- Jre19Compat
This is the base implementation class for JRE compatibility and provides an implementation based on Java 17.
 Subclasses may extend this class and provide alternative implementations for later JRE versions
- 
Constructor SummaryConstructors
- 
Method SummaryModifier and TypeMethodDescription<T> TCreate a thread builder for virtual threads using the given name to name the threads.booleanDisable the global canonical file cache.getExecutor(Thread thread) Obtains the executor, if any, used to create the provided thread.static JreCompatbooleanstatic booleanstatic booleanstatic booleanstatic booleanvoidthreadBuilderStart(Object threadBuilder, Runnable command) Create a thread with the given thread builder and use it to execute the given runnable.
- 
Constructor Details- 
JreCompatpublic JreCompat()
 
- 
- 
Method Details- 
getInstance
- 
isGraalAvailablepublic static boolean isGraalAvailable()
- 
isJre19Availablepublic static boolean isJre19Available()
- 
isJre21Availablepublic static boolean isJre21Available()
- 
isJre22Availablepublic static boolean isJre22Available()
- 
getExecutorpublic Object getExecutor(Thread thread) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException Obtains the executor, if any, used to create the provided thread.- Parameters:
- thread- The thread to examine
- Returns:
- The executor, if any, that created the provided thread
- Throws:
- NoSuchFieldException- If a field used via reflection to obtain the executor cannot be found
- SecurityException- If a security exception occurs while trying to identify the executor
- IllegalArgumentException- If the instance object does not match the class of the field when obtaining a field value via reflection
- IllegalAccessException- If a field is not accessible due to access restrictions
 
- 
createVirtualThreadBuilder
- 
threadBuilderStart
- 
callAs- Throws:
- CompletionException
 
- 
isCanonCachesDisabledpublic boolean isCanonCachesDisabled()
- 
disableCanonCachespublic boolean disableCanonCaches()Disable the global canonical file cache.- Returns:
- trueif the global canonical file cache was already disabled prior to this call or was disabled as a result of this call, otherwise- false
 
 
-