Class Jre21Compat
java.lang.Object
org.apache.tomcat.util.compat.JreCompat
org.apache.tomcat.util.compat.Jre12Compat
org.apache.tomcat.util.compat.Jre19Compat
org.apache.tomcat.util.compat.Jre20Compat
org.apache.tomcat.util.compat.Jre21Compat
- Direct Known Subclasses:
Jre22Compat
-
Field Summary
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddBootModulePath(Deque<URL> classPathUrlsToProcess) Obtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.<T> TbooleancanAccess(Object base, AccessibleObject accessibleObject) Is the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?Create a thread builder for virtual threads using the given name to name the threads.voidDisables caching for JAR URL connections.booleanDisable the global canonical file cache.getModuleName(Class<?> type) What is the module of the given class?Return Unix domain socket address for given path.booleanbooleanisExported(Class<?> type) Is the given class in an exported package?booleanTest if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.booleanjarFileIsMultiRelease(JarFile jarFile) Is this JarFile a multi-release JAR file.Creates a new JarFile instance.intCreate server socket channel using the Unix domain socket ProtocolFamily.Create socket channel using the Unix domain socket ProtocolFamily.voidthreadBuilderStart(Object threadBuilder, Runnable command) Create a thread with the given thread builder and use it to execute the given runnable.Methods inherited from class Jre20Compat
setNamedGroupsMethodMethods inherited from class Jre19Compat
getExecutorMethods inherited from class Jre12Compat
ensureUseCanonCachesFieldIsPopulated
-
Constructor Details
-
Jre21Compat
public Jre21Compat()
-
-
Method Details
-
createVirtualThreadBuilder
Description copied from class:JreCompatCreate a thread builder for virtual threads using the given name to name the threads.- Overrides:
createVirtualThreadBuilderin classJreCompat- Parameters:
name- The base name for the threads- Returns:
- The thread buidler for virtual threads
-
threadBuilderStart
Description copied from class:JreCompatCreate a thread with the given thread builder and use it to execute the given runnable.- Overrides:
threadBuilderStartin classJreCompat- Parameters:
threadBuilder- The thread builder to use to create a threadcommand- The command to run
-
callAs
- Overrides:
callAsin classJreCompat- Throws:
CompletionException
-
isCanonCachesDisabled
public boolean isCanonCachesDisabled()- Overrides:
isCanonCachesDisabledin classJre12Compat
-
disableCanonCaches
public boolean disableCanonCaches()Description copied from class:JreCompatDisable the global canonical file cache.- Overrides:
disableCanonCachesin classJreCompat- Returns:
trueif the global canonical file cache was already disabled prior to this call or was disabled as a result of this call, otherwisefalse
-
getUnixDomainSocketAddress
Description copied from class:JreCompatReturn Unix domain socket address for given path.- Overrides:
getUnixDomainSocketAddressin classJreCompat- Parameters:
path- The path- Returns:
- the socket address
-
openUnixDomainServerSocketChannel
Description copied from class:JreCompatCreate server socket channel using the Unix domain socket ProtocolFamily.- Overrides:
openUnixDomainServerSocketChannelin classJreCompat- Returns:
- the server socket channel
-
openUnixDomainSocketChannel
Description copied from class:JreCompatCreate socket channel using the Unix domain socket ProtocolFamily.- Overrides:
openUnixDomainSocketChannelin classJreCompat- Returns:
- the socket channel
-
isInstanceOfInaccessibleObjectException
Description copied from class:JreCompatTest if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.- Overrides:
isInstanceOfInaccessibleObjectExceptionin classJreCompat- Parameters:
t- The exception to test- Returns:
trueif the exception is an instance of InaccessibleObjectException, otherwisefalse
-
disableCachingForJarUrlConnections
Description copied from class:JreCompatDisables caching for JAR URL connections. For Java 8 and earlier, this also disables caching for ALL URL connections.- Overrides:
disableCachingForJarUrlConnectionsin classJreCompat- Throws:
IOException- If a dummy JAR URLConnection can not be created
-
addBootModulePath
Description copied from class:JreCompatObtains the URLs for all the JARs on the module path when the JVM starts and adds them to the provided Deque.- Overrides:
addBootModulePathin classJreCompat- Parameters:
classPathUrlsToProcess- The Deque to which the modules should be added
-
jarFileNewInstance
Description copied from class:JreCompatCreates a new JarFile instance. When running on Java 9 and later, the JarFile will be multi-release JAR aware.- Overrides:
jarFileNewInstancein classJreCompat- Parameters:
f- The JAR file to open- Returns:
- A JarFile instance based on the provided file
- Throws:
IOException- If an I/O error occurs creating the JarFile instance
-
jarFileIsMultiRelease
Description copied from class:JreCompatIs this JarFile a multi-release JAR file.- Overrides:
jarFileIsMultiReleasein classJreCompat- Parameters:
jarFile- The JarFile to test- Returns:
trueIf it is a multi-release JAR file and is configured to behave as such.
-
jarFileRuntimeMajorVersion
public int jarFileRuntimeMajorVersion()- Overrides:
jarFileRuntimeMajorVersionin classJreCompat
-
canAccess
Description copied from class:JreCompatIs the accessibleObject accessible (as a result of appropriate module exports) on the provided instance? -
isExported
Description copied from class:JreCompatIs the given class in an exported package?- Overrides:
isExportedin classJreCompat- Parameters:
type- The class to test- Returns:
- Always
truefor Java 8.trueif the enclosing package is exported for Java 9+
-
getModuleName
Description copied from class:JreCompatWhat is the module of the given class?- Overrides:
getModuleNamein classJreCompat- Parameters:
type- The class to test- Returns:
- Always
truefor Java 8.trueif the enclosing package is exported for Java 9+
-