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 ObjectgetExecutor(Thread thread)Obtains the executor, if any, used to create the provided thread.static JreCompatgetInstance()SocketAddressgetUnixDomainSocketAddress(String path)Return Unix domain socket address for given path.static booleanisGraalAvailable()static booleanisJre16Available()static booleanisJre19Available()ServerSocketChannelopenUnixDomainServerSocketChannel()Create server socket channel using the Unix domain socket ProtocolFamily.SocketChannelopenUnixDomainSocketChannel()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
-
-