Class Library

java.lang.Object
org.apache.tomcat.jni.Library

public final class Library extends Object
  • Field Details

    • TCN_MAJOR_VERSION

      public static int TCN_MAJOR_VERSION
    • TCN_MINOR_VERSION

      public static int TCN_MINOR_VERSION
    • TCN_PATCH_VERSION

      public static int TCN_PATCH_VERSION
    • TCN_IS_DEV_VERSION

      public static int TCN_IS_DEV_VERSION
    • APR_MAJOR_VERSION

      public static int APR_MAJOR_VERSION
    • APR_MINOR_VERSION

      public static int APR_MINOR_VERSION
    • APR_PATCH_VERSION

      public static int APR_PATCH_VERSION
    • APR_IS_DEV_VERSION

      public static int APR_IS_DEV_VERSION
    • APR_HAVE_IPV6

      @Deprecated public static boolean APR_HAVE_IPV6
      Deprecated.
    • APR_HAS_SHARED_MEMORY

      @Deprecated public static boolean APR_HAS_SHARED_MEMORY
      Deprecated.
    • APR_HAS_THREADS

      @Deprecated public static boolean APR_HAS_THREADS
      Deprecated.
    • APR_HAS_SENDFILE

      @Deprecated public static boolean APR_HAS_SENDFILE
      Deprecated.
    • APR_HAS_MMAP

      @Deprecated public static boolean APR_HAS_MMAP
      Deprecated.
    • APR_HAS_FORK

      @Deprecated public static boolean APR_HAS_FORK
      Deprecated.
    • APR_HAS_RANDOM

      @Deprecated public static boolean APR_HAS_RANDOM
      Deprecated.
    • APR_HAS_OTHER_CHILD

      @Deprecated public static boolean APR_HAS_OTHER_CHILD
      Deprecated.
    • APR_HAS_DSO

      @Deprecated public static boolean APR_HAS_DSO
      Deprecated.
    • APR_HAS_SO_ACCEPTFILTER

      @Deprecated public static boolean APR_HAS_SO_ACCEPTFILTER
      Deprecated.
    • APR_HAS_UNICODE_FS

      @Deprecated public static boolean APR_HAS_UNICODE_FS
      Deprecated.
    • APR_HAS_PROC_INVOKED

      @Deprecated public static boolean APR_HAS_PROC_INVOKED
      Deprecated.
    • APR_HAS_USER

      @Deprecated public static boolean APR_HAS_USER
      Deprecated.
    • APR_HAS_LARGE_FILES

      @Deprecated public static boolean APR_HAS_LARGE_FILES
      Deprecated.
    • APR_HAS_XTHREAD_FILES

      @Deprecated public static boolean APR_HAS_XTHREAD_FILES
      Deprecated.
    • APR_HAS_OS_UUID

      @Deprecated public static boolean APR_HAS_OS_UUID
      Deprecated.
    • APR_IS_BIGENDIAN

      @Deprecated public static boolean APR_IS_BIGENDIAN
      Deprecated.
    • APR_FILES_AS_SOCKETS

      @Deprecated public static boolean APR_FILES_AS_SOCKETS
      Deprecated.
    • APR_CHARSET_EBCDIC

      @Deprecated public static boolean APR_CHARSET_EBCDIC
      Deprecated.
    • APR_TCP_NODELAY_INHERITED

      @Deprecated public static boolean APR_TCP_NODELAY_INHERITED
      Deprecated.
    • APR_O_NONBLOCK_INHERITED

      @Deprecated public static boolean APR_O_NONBLOCK_INHERITED
      Deprecated.
    • APR_SIZEOF_VOIDP

      @Deprecated public static int APR_SIZEOF_VOIDP
      Deprecated.
    • APR_PATH_MAX

      @Deprecated public static int APR_PATH_MAX
      Deprecated.
    • APRMAXHOSTLEN

      @Deprecated public static int APRMAXHOSTLEN
      Deprecated.
    • APR_MAX_IOVEC_SIZE

      @Deprecated public static int APR_MAX_IOVEC_SIZE
      Deprecated.
    • APR_MAX_SECS_TO_LINGER

      @Deprecated public static int APR_MAX_SECS_TO_LINGER
      Deprecated.
    • APR_MMAP_THRESHOLD

      @Deprecated public static int APR_MMAP_THRESHOLD
      Deprecated.
    • APR_MMAP_LIMIT

      @Deprecated public static int APR_MMAP_LIMIT
      Deprecated.
  • Method Details

    • threadSafeTerminate

      public static void threadSafeTerminate()
      Allows for thread safe termination when other threads may be attempting clean-up concurrently with the current thread. Waits for any threads currently holding the clean-up lock to release the lock and then calls terminate().
    • terminate

      public static void terminate()
      Destroys Tomcat Native's global APR pool. This has to be the last call to TCN library. This will destroy any APR root pools that have not been explicitly destroyed.

      This method should only be used if the caller is certain that all other threads have finished using the native library.

    • versionString

      public static String versionString()
    • aprVersionString

      public static String aprVersionString()
    • globalPool

      @Deprecated public static long globalPool()
      Deprecated.
    • initialize

      public static boolean initialize(String libraryName) throws Exception
      Setup any APR internal data structures. This MUST be the first function called for any APR library.
      Parameters:
      libraryName - the name of the library to load
      Returns:
      true if the native code was initialized successfully otherwise false
      Throws:
      Exception - if a problem occurred during initialization
    • tryCleanUpLock

      public static boolean tryCleanUpLock(long cleanupGeneration)
    • getGeneration

      public static long getGeneration()
    • returnCleanUpLock

      public static void returnCleanUpLock()
    • load

      @Deprecated public static void load(String filename)
      Deprecated.
      Unused. Will be removed in Tomcat 10.1.x
      Calls System.load(filename). System.load() associates the loaded library with the class loader of the class that called the System method. A native library may not be loaded by more than one class loader, so calling the System method from a class that was loaded by a Webapp class loader will make it impossible for other Webapps to load it. Using this method will load the native library via a shared class loader (typically the Common class loader, but may vary in some configurations), so that it can be loaded by multiple Webapps.
      Parameters:
      filename - - absolute path of the native library
    • loadLibrary

      @Deprecated public static void loadLibrary(String libname)
      Deprecated.
      Unused. Will be removed in Tomcat 10.1.x
      Calls System.loadLibrary(libname). System.loadLibrary() associates the loaded library with the class loader of the class that called the System method. A native library may not be loaded by more than one class loader, so calling the System method from a class that was loaded by a Webapp class loader will make it impossible for other Webapps to load it. Using this method will load the native library via a shared class loader (typically the Common class loader, but may vary in some configurations), so that it can be loaded by multiple Webapps.
      Parameters:
      libname - - the name of the native library