# Class Jre21Compat

java.lang.Object
org.apache.tomcat.util.compat.JreCompat
org.apache.tomcat.util.compat.Jre19Compat
org.apache.tomcat.util.compat.Jre21Compat

Direct Known Subclasses:
  `Jre22Compat`

public class Jre21Compat extends Jre19Compat

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Jre21Compat()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `<T> T`
  `callAs(Subject subject, Callable<T> action)`
  `Object`
  `createVirtualThreadBuilder(String name)`
  Create a thread builder for virtual threads using the given name to name the threads.
  `void`
  `threadBuilderStart(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.Jre19Compat

  `getExecutor`

  ### Methods inherited from class org.apache.tomcat.util.compat.JreCompat

  `getInstance, isGraalAvailable, isJre19Available, isJre21Available, isJre22Available`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Constructor Details

  - ### Jre21Compat

    public Jre21Compat()

- ## Method Details

  - ### createVirtualThreadBuilder

    public Object createVirtualThreadBuilder(String name)
    Description copied from class: `JreCompat`
    Create a thread builder for virtual threads using the given name to name the threads.
    Overrides:
      `createVirtualThreadBuilder` in class `JreCompat`
    Parameters:
      `name` - The base name for the threads
    Returns:
      The thread buidler for virtual threads

  - ### threadBuilderStart

    public void threadBuilderStart(Object threadBuilder, Runnable command)
    Description copied from class: `JreCompat`
    Create a thread with the given thread builder and use it to execute the given runnable.
    Overrides:
      `threadBuilderStart` in class `JreCompat`
    Parameters:
      `threadBuilder` - The thread builder to use to create a thread
      `command` - The command to run

  - ### callAs

    public <T> T callAs(Subject subject, Callable<T> action) throws CompletionException
    Overrides:
      `callAs` in class `JreCompat`
    Throws:
      `CompletionException`