Class SnappyLoader

java.lang.Object
org.xerial.snappy.SnappyLoader

public class SnappyLoader extends Object
Internal only - Do not use this class. This class loads a native library of snappy-java (snappyjava.dll, libsnappy.so, etc.) according to the user platform (os.name and os.arch). The natively compiled libraries bundled to snappy-java contain the codes of the original snappy and JNI programs to access Snappy.

In default, no configuration is required to use snappy-java, but you can load your own native library created by 'make native' command.

This SnappyLoader searches for native libraries (snappyjava.dll, libsnappy.so, etc.) in the following order:

  1. If system property org.xerial.snappy.use.systemlib is set to true, lookup folders specified by java.lib.path system property (This is the default path that JVM searches for native libraries)
  2. (System property: org.xerial.snappy.lib.path)/(System property: org.xerial.lib.name)
  3. One of the libraries embedded in snappy-java-(version).jar extracted into (System property: java.io.tmpdir). If org.xerial.snappy.tempdir is set, use this folder instead of java.io.tmpdir.

If you do not want to use folder java.io.tmpdir, set the System property org.xerial.snappy.tempdir. For example, to use /tmp/leo as a temporary folder to copy native libraries, use -D option of JVM:


java -Dorg.xerial.snappy.tempdir="/tmp/leo" ...

Author:
leo
  • Field Details

  • Constructor Details

    • SnappyLoader

      public SnappyLoader()
  • Method Details

    • getVersion

      public static String getVersion()
      Get the snappy-java version by reading pom.properties embedded in jar. This version data is used as a suffix of a dll file extracted from the jar.
      Returns:
      the version string