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