# Class JniLifecycleListener

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

All Implemented Interfaces:
  `LifecycleListener`

public class JniLifecycleListener extends Object implements LifecycleListener
An implementation of LifeCycleListener that loads a native library into the JVM.

Native libraries are associated with the class loader of the class that loaded them, and the same library may not be loaded by more than one class loader. Due to that restriction, loading a native library from a Webapp's class loader makes it impossible for other Webapps to load the native library.

Loading the native library using this listener solves the issue as it is loaded by a shared class loader (typically the Common class loader, but may vary in some configurations).

## Field Summary

Fields
Modifier and Type
Field
Description
`protected static final StringManager`
`sm`
StringManager for this class.

## Constructor Summary

Constructors
Constructor
Description
`JniLifecycleListener()`
Constructs a new JniLifecycleListener.

## Method Summary

Modifier and Type
Method
Description
`String`
`getLibraryName()`
Get the name of the library to load.
`String`
`getLibraryPath()`
Get the path of the library to load.
`void`
`lifecycleEvent(LifecycleEvent event)`
Acknowledge the occurrence of the specified event.
`void`
`setLibraryName(String libraryName)`
Set the name of the library to load.
`void`
`setLibraryPath(String libraryPath)`
Set the path of the library to load.

### Methods inherited from class Object

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

## Field Details

### sm

protected static final StringManager sm
StringManager for this class.

## Constructor Details

### JniLifecycleListener

public JniLifecycleListener()
Constructs a new JniLifecycleListener.

## Method Details

### lifecycleEvent

public void lifecycleEvent(LifecycleEvent event)
Description copied from interface: `LifecycleListener`
Acknowledge the occurrence of the specified event.

Specified by:
  `lifecycleEvent` in interface `LifecycleListener`
Parameters:
  `event` - LifecycleEvent that has occurred

### setLibraryName

public void setLibraryName(String libraryName)
Set the name of the library to load.

Parameters:
  `libraryName` - the library name

### getLibraryName

public String getLibraryName()
Get the name of the library to load.

Returns:
  the library name

### setLibraryPath

public void setLibraryPath(String libraryPath)
Set the path of the library to load.

Parameters:
  `libraryPath` - the library path

### getLibraryPath

public String getLibraryPath()
Get the path of the library to load.

Returns:
  the library path