Package org.rocksdb

Class NativeLibraryLoader

java.lang.Object
org.rocksdb.NativeLibraryLoader

public class NativeLibraryLoader extends Object
This class is used to load the RocksDB shared library from within the jar. The shared library is extracted to a temp folder and loaded from there.
  • Method Details

    • getInstance

      public static NativeLibraryLoader getInstance()
      Get a reference to the NativeLibraryLoader
      Returns:
      The NativeLibraryLoader
    • loadLibrary

      public void loadLibrary(String tmpDir) throws IOException
      Firstly attempts to load the library from java.library.path, if that fails then it falls back to extracting the library from the classpath loadLibraryFromJar(java.lang.String)
      Parameters:
      tmpDir - A temporary directory to use to copy the native library to when loading from the classpath. If null, or the empty string, we rely on Java's File.createTempFile(String, String) function to provide a temporary location. The temporary file will be registered for deletion on exit.
      Throws:
      IOException - if a filesystem operation fails.