Package org.apache.tomcat.util.compat
Class JreCompat
- java.lang.Object
-
- org.apache.tomcat.util.compat.JreCompat
-
- Direct Known Subclasses:
Jre19Compat
public class JreCompat extends Object
This is the base implementation class for JRE compatibility and provides an implementation based on Java 11. Sub-classes may extend this class and provide alternative implementations for later JRE versions
-
-
Constructor Summary
Constructors Constructor Description JreCompat()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Object
getExecutor(Thread thread)
Obtains the executor, if any, used to create the provided thread.static JreCompat
getInstance()
SocketAddress
getUnixDomainSocketAddress(String path)
Return Unix domain socket address for given path.static boolean
isGraalAvailable()
static boolean
isJre16Available()
static boolean
isJre19Available()
ServerSocketChannel
openUnixDomainServerSocketChannel()
Create server socket channel using the Unix domain socket ProtocolFamily.SocketChannel
openUnixDomainSocketChannel()
Create socket channel using the Unix domain socket ProtocolFamily.
-
-
-
Method Detail
-
getInstance
public static JreCompat getInstance()
-
isGraalAvailable
public static boolean isGraalAvailable()
-
isJre16Available
public static boolean isJre16Available()
-
isJre19Available
public static boolean isJre19Available()
-
getUnixDomainSocketAddress
public SocketAddress getUnixDomainSocketAddress(String path)
Return Unix domain socket address for given path.- Parameters:
path
- The path- Returns:
- the socket address
-
openUnixDomainServerSocketChannel
public ServerSocketChannel openUnixDomainServerSocketChannel()
Create server socket channel using the Unix domain socket ProtocolFamily.- Returns:
- the server socket channel
-
openUnixDomainSocketChannel
public SocketChannel openUnixDomainSocketChannel()
Create socket channel using the Unix domain socket ProtocolFamily.- Returns:
- the socket channel
-
getExecutor
public 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 foundSecurityException
- If a security exception occurs while trying to identify the executorIllegalArgumentException
- If the instance object does not match the class of the field when obtaining a field value via reflectionIllegalAccessException
- If a field is not accessible due to access restrictions
-
-