Class SnappyLoader


  • public class SnappyLoader
    extends java.lang.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" ...
     
     

    • Field Detail

      • SNAPPY_SYSTEM_PROPERTIES_FILE

        public static final java.lang.String SNAPPY_SYSTEM_PROPERTIES_FILE
        See Also:
        Constant Field Values
      • KEY_SNAPPY_LIB_PATH

        public static final java.lang.String KEY_SNAPPY_LIB_PATH
        See Also:
        Constant Field Values
      • KEY_SNAPPY_LIB_NAME

        public static final java.lang.String KEY_SNAPPY_LIB_NAME
        See Also:
        Constant Field Values
      • KEY_SNAPPY_PUREJAVA

        public static final java.lang.String KEY_SNAPPY_PUREJAVA
        See Also:
        Constant Field Values
      • KEY_SNAPPY_TEMPDIR

        public static final java.lang.String KEY_SNAPPY_TEMPDIR
        See Also:
        Constant Field Values
      • KEY_SNAPPY_USE_SYSTEMLIB

        public static final java.lang.String KEY_SNAPPY_USE_SYSTEMLIB
        See Also:
        Constant Field Values
      • KEY_SNAPPY_DISABLE_BUNDLED_LIBS

        public static final java.lang.String KEY_SNAPPY_DISABLE_BUNDLED_LIBS
        See Also:
        Constant Field Values
    • Constructor Detail

      • SnappyLoader

        public SnappyLoader()
    • Method Detail

      • getVersion

        public static java.lang.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