Package org.apache.tomcat.util.compat
Class Jre21Compat
java.lang.Object
org.apache.tomcat.util.compat.JreCompat
org.apache.tomcat.util.compat.Jre19Compat
org.apache.tomcat.util.compat.Jre21Compat
- 
Field SummaryFields
- 
Constructor SummaryConstructors
- 
Method SummaryModifier 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.booleancanAccess(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.getApplicationProtocol(SSLEngine sslEngine) Get the application protocol that has been negotiated for connection associated with the given SSLEngine.getModuleName(Class<?> type) What is the module of the given class?static 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.intvoidsetApplicationProtocols(SSLParameters sslParameters, String[] protocols) Set the application protocols the server will accept for ALPNvoidsetUseServerCipherSuitesOrder(SSLParameters sslParameters, boolean useCipherSuitesOrder) 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 org.apache.tomcat.util.compat.Jre19CompatgetExecutorMethods inherited from class org.apache.tomcat.util.compat.JreCompatgetInstance, isJre11Available, isJre16Available, isJre19Available, isJre21Available, isJre8Available, isJre9Available, jarFileNewInstance
- 
Field Details- 
setApplicationProtocolsMethod
- 
getApplicationProtocolMethod
 
- 
- 
Constructor Details- 
Jre21Compatpublic Jre21Compat()
 
- 
- 
Method Details- 
createVirtualThreadBuilderDescription copied from class:JreCompatCreate a thread builder for virtual threads using the given name to name the threads.- Overrides:
- createVirtualThreadBuilderin class- JreCompat
- Parameters:
- name- The base name for the threads
- Returns:
- The thread buidler for virtual threads
 
- 
threadBuilderStartDescription copied from class:JreCompatCreate a thread with the given thread builder and use it to execute the given runnable.- Overrides:
- threadBuilderStartin class- JreCompat
- Parameters:
- threadBuilder- The thread builder to use to create a thread
- command- The command to run
 
- 
isInstanceOfInaccessibleObjectExceptionDescription copied from class:JreCompatTest if the provided exception is an instance of java.lang.reflect.InaccessibleObjectException.- Overrides:
- isInstanceOfInaccessibleObjectExceptionin class- JreCompat
- Parameters:
- t- The exception to test
- Returns:
- trueif the exception is an instance of InaccessibleObjectException, otherwise- false
 
- 
disableCachingForJarUrlConnectionsDescription copied from class:JreCompatDisables caching for JAR URL connections. For Java 8 and earlier, this also disables caching for ALL URL connections.- Overrides:
- disableCachingForJarUrlConnectionsin class- JreCompat
- Throws:
- IOException- If a dummy JAR URLConnection can not be created
 
- 
addBootModulePathDescription 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 class- JreCompat
- Parameters:
- classPathUrlsToProcess- The Deque to which the modules should be added
 
- 
jarFileNewInstanceDescription 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 class- JreCompat
- 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
 
- 
jarFileIsMultiReleaseDescription copied from class:JreCompatIs this JarFile a multi-release JAR file.- Overrides:
- jarFileIsMultiReleasein class- JreCompat
- Parameters:
- jarFile- The JarFile to test
- Returns:
- trueIf it is a multi-release JAR file and is configured to behave as such.
 
- 
jarFileRuntimeMajorVersionpublic int jarFileRuntimeMajorVersion()
- 
canAccessDescription copied from class:JreCompatIs the accessibleObject accessible (as a result of appropriate module exports) on the provided instance?
- 
isExportedDescription copied from class:JreCompatIs the given class in an exported package?- Overrides:
- isExportedin class- JreCompat
- Parameters:
- type- The class to test
- Returns:
- Always truefor Java 8.trueif the enclosing package is exported for Java 9+
 
- 
getModuleNameDescription copied from class:JreCompatWhat is the module of the given class?- Overrides:
- getModuleNamein class- JreCompat
- Parameters:
- type- The class to test
- Returns:
- Always truefor Java 8.trueif the enclosing package is exported for Java 9+
 
- 
setUseServerCipherSuitesOrderpublic void setUseServerCipherSuitesOrder(SSLParameters sslParameters, boolean useCipherSuitesOrder) - Overrides:
- setUseServerCipherSuitesOrderin class- JreCompat
 
- 
getDomainLoadStoreParameter- Overrides:
- getDomainLoadStoreParameterin class- JreCompat
 
- 
setApplicationProtocolsDescription copied from class:JreCompatSet the application protocols the server will accept for ALPN- Overrides:
- setApplicationProtocolsin class- JreCompat
- Parameters:
- sslParameters- The SSL parameters for a connection
- protocols- The application protocols to be allowed for that connection
 
- 
getApplicationProtocolDescription copied from class:JreCompatGet the application protocol that has been negotiated for connection associated with the given SSLEngine.- Overrides:
- getApplicationProtocolin class- JreCompat
- Parameters:
- sslEngine- The SSLEngine for which to obtain the negotiated protocol
- Returns:
- The name of the negotiated protocol
 
- 
isAlpnSupportedpublic static boolean isAlpnSupported()
 
-