# 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 Object`
  `lock`
  `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()`
  `String`
  `getSSLEngine()`
  `String`
  `getSSLRandomSeed()`
  `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

  - ### lock

    protected static final Object lock

- ## Constructor Details

  - ### AprLifecycleListener

    public AprLifecycleListener()

- ## Method Details

  - ### isAprAvailable

    public static boolean isAprAvailable()

  - ### 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()