# 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`
`getUseAprConnector()`
`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`
`setUseAprConnector(boolean useAprConnector)`
`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()

### setUseAprConnector

public void setUseAprConnector(boolean useAprConnector)

### getUseAprConnector

public static boolean getUseAprConnector()

### setUseOpenSSL

public void setUseOpenSSL(boolean useOpenSSL)

### getUseOpenSSL

public static boolean getUseOpenSSL()

### isInstanceCreated

public static boolean isInstanceCreated()