Package org.apache.tomcat.jni

# Class Library

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

public final class Library extends Object

## Field Summary

Fields
Modifier and Type
Field
Description
`static boolean`
`APR_CHARSET_EBCDIC`
Deprecated.
`static boolean`
`APR_FILES_AS_SOCKETS`
Deprecated.
`static boolean`
`APR_HAS_DSO`
Deprecated.
`static boolean`
`APR_HAS_FORK`
Deprecated.
`static boolean`
`APR_HAS_LARGE_FILES`
Deprecated.
`static boolean`
`APR_HAS_MMAP`
Deprecated.
`static boolean`
`APR_HAS_OS_UUID`
Deprecated.
`static boolean`
`APR_HAS_OTHER_CHILD`
Deprecated.
`static boolean`
`APR_HAS_PROC_INVOKED`
Deprecated.
`static boolean`
`APR_HAS_RANDOM`
Deprecated.
`static boolean`
`APR_HAS_SENDFILE`
Deprecated.
`static boolean`
`APR_HAS_SHARED_MEMORY`
Deprecated.
`static boolean`
`APR_HAS_SO_ACCEPTFILTER`
Deprecated.
`static boolean`
`APR_HAS_THREADS`
Deprecated.
`static boolean`
`APR_HAS_UNICODE_FS`
Deprecated.
`static boolean`
`APR_HAS_USER`
Deprecated.
`static boolean`
`APR_HAS_XTHREAD_FILES`
Deprecated.
`static boolean`
`APR_HAVE_IPV6`
Deprecated.
`static boolean`
`APR_HAVE_UNIX`
Deprecated.
`static boolean`
`APR_IS_BIGENDIAN`
Deprecated.
`static int`
`APR_IS_DEV_VERSION`
`static int`
`APR_MAJOR_VERSION`
`static int`
`APR_MAX_IOVEC_SIZE`
Deprecated.
`static int`
`APR_MAX_SECS_TO_LINGER`
Deprecated.
`static int`
`APR_MINOR_VERSION`
`static int`
`APR_MMAP_LIMIT`
Deprecated.
`static int`
`APR_MMAP_THRESHOLD`
Deprecated.
`static boolean`
`APR_O_NONBLOCK_INHERITED`
Deprecated.
`static int`
`APR_PATCH_VERSION`
`static int`
`APR_PATH_MAX`
Deprecated.
`static boolean`
`APR_POLLSET_WAKEABLE`
Deprecated.
`static int`
`APR_SIZEOF_VOIDP`
Deprecated.
`static boolean`
`APR_TCP_NODELAY_INHERITED`
Deprecated.
`static int`
`APRMAXHOSTLEN`
Deprecated.
`static int`
`TCN_IS_DEV_VERSION`
`static int`
`TCN_MAJOR_VERSION`
`static int`
`TCN_MINOR_VERSION`
`static int`
`TCN_PATCH_VERSION`

## Method Summary

Modifier and Type
Method
Description
`static String`
`aprVersionString()`
`static long`
`getGeneration()`
`static long`
`globalPool()`
Deprecated.
`static boolean`
`initialize(String libraryName)`
Setup any APR internal data structures.
`static void`
`load(String filename)`
Deprecated.
Unused.
`static void`
`loadLibrary(String libname)`
Deprecated.
Unused.
`static void`
`returnCleanUpLock()`
`static void`
`terminate()`
Destroys Tomcat Native's global APR pool.
`static void`
`threadSafeTerminate()`
Allows for thread safe termination when other threads may be attempting clean-up concurrently with the current thread.
`static boolean`
`tryCleanUpLock(long cleanupGeneration)`
`static String`
`versionString()`

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

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

## 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_POLLSET_WAKEABLE

@Deprecated public static boolean APR_POLLSET_WAKEABLE
Deprecated.

### APR_HAVE_UNIX

@Deprecated public static boolean APR_HAVE_UNIX
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