AprLifecycleListener (Apache Tomcat 10.1.55 API Documentation)
Description: declaration: package: org.apache.catalina.core, class: AprLifecycleListener

# Class AprLifecycleListener

java.lang.Object
org.apache.catalina.core.AprLifecycleListener

All Implemented Interfaces:
  `LifecycleListener`

public class AprLifecycleListener extends Object implements LifecycleListener
Implementation of `LifecycleListener` that will init and destroy APR.

This listener must only be nested within `Server` elements.

Only one instance of the APR/Native library may be loaded per JVM. Loading multiple instances will trigger a JVM crash - typically when the Connectors are destroyed. This listener utilises reference counting to ensure that only one instance of the APR/Native library is loaded at any one time.

If multiple listener configurations are found, only the first one initialised will be used.

Since:
  4.1

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected static String`
  `FIPSMode`
  `protected static boolean`
  `fipsModeActive`
  `protected static final StringManager`
  `sm`
  The string manager for this package.
  `protected static String`
  `SSLEngine`
  `protected static boolean`
  `sslInitialized`
  `protected static String`
  `SSLRandomSeed`
  `protected static final int`
  `TCN_RECOMMENDED_MAJOR`
  `protected static final int`
  `TCN_RECOMMENDED_MINOR`
  `protected static final int`
  `TCN_RECOMMENDED_PV`
  `protected static final int`
  `TCN_REQUIRED_MAJOR`
  `protected static final int`
  `TCN_REQUIRED_MINOR`
  `protected static final int`
  `TCN_REQUIRED_PATCH`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `AprLifecycleListener()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `String`
  `getFIPSMode()`
  `static String`
  `getInstalledAprVersion()`
  Get the installed APR version string, if available.
  `static String`
  `getInstalledOpenSslVersion()`
  Get the installed OpenSSL version string (via APR), if available.
  `static String`
  `getInstalledTcnVersion()`
  Get the installed Tomcat Native version string, if available.
  `String`
  `getSSLEngine()`
  `String`
  `getSSLRandomSeed()`
  `static String`
  `getTcnVersionWarning()`
  Get a warning message if the installed Tomcat Native version is older than recommended.
  `static boolean`
  `getUseOpenSSL()`
  `static boolean`
  `isAprAvailable()`
  `boolean`
  `isFIPSModeActive()`
  `static boolean`
  `isInstanceCreated()`
  `void`
  `lifecycleEvent(LifecycleEvent event)`
  Primary entry point for startup and shutdown events.
  `void`
  `setFIPSMode(String FIPSMode)`
  `void`
  `setSSLEngine(String SSLEngine)`
  `void`
  `setSSLRandomSeed(String SSLRandomSeed)`
  `void`
  `setUseOpenSSL(boolean useOpenSSL)`

  ### Methods inherited from class Object

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

- ## Field Details

  - ### sm

    protected static final StringManager sm
    The string manager for this package.

  - ### TCN_REQUIRED_MAJOR

    protected static final int TCN_REQUIRED_MAJOR
    See Also:
      - Constant Field Values

  - ### TCN_REQUIRED_MINOR

    protected static final int TCN_REQUIRED_MINOR
    See Also:
      - Constant Field Values

  - ### TCN_REQUIRED_PATCH

    protected static final int TCN_REQUIRED_PATCH
    See Also:
      - Constant Field Values

  - ### TCN_RECOMMENDED_MAJOR

    protected static final int TCN_RECOMMENDED_MAJOR
    See Also:
      - Constant Field Values

  - ### TCN_RECOMMENDED_MINOR

    protected static final int TCN_RECOMMENDED_MINOR
    See Also:
      - Constant Field Values

  - ### TCN_RECOMMENDED_PV

    protected static final int TCN_RECOMMENDED_PV
    See Also:
      - Constant Field Values

  - ### SSLEngine

    protected static String SSLEngine

  - ### FIPSMode

    protected static String FIPSMode

  - ### SSLRandomSeed

    protected static String SSLRandomSeed

  - ### sslInitialized

    protected static boolean sslInitialized

  - ### fipsModeActive

    protected static boolean fipsModeActive

- ## Constructor Details

  - ### AprLifecycleListener

    public AprLifecycleListener()

- ## Method Details

  - ### isAprAvailable

    public static boolean isAprAvailable()

  - ### getInstalledTcnVersion

    public static String getInstalledTcnVersion()
    Get the installed Tomcat Native version string, if available.
    Returns:
      the version string, or null if APR is not available

  - ### getInstalledAprVersion

    public static String getInstalledAprVersion()
    Get the installed APR version string, if available.
    Returns:
      the APR version string, or null if APR is not available

  - ### getInstalledOpenSslVersion

    public static String getInstalledOpenSslVersion()
    Get the installed OpenSSL version string (via APR), if available.
    Returns:
      the OpenSSL version string, or null if not available

  - ### getTcnVersionWarning

    public static String getTcnVersionWarning()
    Get a warning message if the installed Tomcat Native version is older than recommended. This performs the same version check used during Tomcat startup.
    Returns:
      a warning message if the installed version is outdated, or null if the version is acceptable or APR is not available

  - ### lifecycleEvent

    public void lifecycleEvent(LifecycleEvent event)
    Primary entry point for startup and shutdown events.
    Specified by:
      `lifecycleEvent` in interface `LifecycleListener`
    Parameters:
      `event` - The event that has occurred

  - ### getSSLEngine

    public String getSSLEngine()

  - ### setSSLEngine

    public void setSSLEngine(String SSLEngine)

  - ### getSSLRandomSeed

    public String getSSLRandomSeed()

  - ### setSSLRandomSeed

    public void setSSLRandomSeed(String SSLRandomSeed)

  - ### getFIPSMode

    public String getFIPSMode()

  - ### setFIPSMode

    public void setFIPSMode(String FIPSMode)

  - ### isFIPSModeActive

    public boolean isFIPSModeActive()

  - ### setUseOpenSSL

    public void setUseOpenSSL(boolean useOpenSSL)

  - ### getUseOpenSSL

    public static boolean getUseOpenSSL()

  - ### isInstanceCreated

    public static boolean isInstanceCreated()