Merge pull request #195 from ankgup87/master

[Java] Package .so file with JNI jar
main
Yueh-Hsuan Chiang 11 years ago
commit cae316d758
  1. 7
      java/Makefile
  2. 27
      java/rocksjni/portal.h

@ -3,6 +3,11 @@ NATIVE_JAVA_CLASSES = org.rocksdb.RocksDB org.rocksdb.Options org.rocksdb.WriteB
NATIVE_INCLUDE = ./include NATIVE_INCLUDE = ./include
ROCKSDB_JAR = rocksdbjni.jar ROCKSDB_JAR = rocksdbjni.jar
ROCKSDBJNILIB = ./librocksdbjni.so
ifeq ($(PLATFORM), OS_MACOSX)
ROCKSDBJNILIB = ./librocksdbjni.jnilib
endif
clean: clean:
-find . -name "*.class" -exec rm {} \; -find . -name "*.class" -exec rm {} \;
-find . -name "hs*.log" -exec rm {} \; -find . -name "hs*.log" -exec rm {} \;
@ -11,7 +16,7 @@ clean:
java: java:
javac org/rocksdb/util/*.java org/rocksdb/*.java javac org/rocksdb/util/*.java org/rocksdb/*.java
@cp ../HISTORY.md ./HISTORY-CPP.md @cp ../HISTORY.md ./HISTORY-CPP.md
jar -cf $(ROCKSDB_JAR) org/rocksdb/*.class org/rocksdb/util/*.class HISTORY*.md jar -cf $(ROCKSDB_JAR) org/rocksdb/*.class org/rocksdb/util/*.class HISTORY*.md $(ROCKSDBJNILIB)
@rm -f ./HISTORY-CPP.md @rm -f ./HISTORY-CPP.md
javah -d $(NATIVE_INCLUDE) -jni $(NATIVE_JAVA_CLASSES) javah -d $(NATIVE_INCLUDE) -jni $(NATIVE_JAVA_CLASSES)

@ -22,7 +22,7 @@ class RocksDBJni {
public: public:
// Get the java class id of org.rocksdb.RocksDB. // Get the java class id of org.rocksdb.RocksDB.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/RocksDB"); jclass jclazz = env->FindClass("org/rocksdb/RocksDB");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -55,7 +55,7 @@ class RocksDBExceptionJni {
public: public:
// Get the jclass of org.rocksdb.RocksDBException // Get the jclass of org.rocksdb.RocksDBException
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/RocksDBException"); jclass jclazz = env->FindClass("org/rocksdb/RocksDBException");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -83,7 +83,7 @@ class OptionsJni {
public: public:
// Get the java class id of org.rocksdb.Options. // Get the java class id of org.rocksdb.Options.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/Options"); jclass jclazz = env->FindClass("org/rocksdb/Options");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -115,7 +115,7 @@ class WriteOptionsJni {
public: public:
// Get the java class id of org.rocksdb.WriteOptions. // Get the java class id of org.rocksdb.WriteOptions.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/WriteOptions"); jclass jclazz = env->FindClass("org/rocksdb/WriteOptions");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -148,7 +148,7 @@ class ReadOptionsJni {
public: public:
// Get the java class id of org.rocksdb.ReadOptions. // Get the java class id of org.rocksdb.ReadOptions.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/ReadOptions"); jclass jclazz = env->FindClass("org/rocksdb/ReadOptions");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -181,7 +181,7 @@ class ReadOptionsJni {
class WriteBatchJni { class WriteBatchJni {
public: public:
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/WriteBatch"); jclass jclazz = env->FindClass("org/rocksdb/WriteBatch");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -211,8 +211,7 @@ class WriteBatchJni {
class HistogramDataJni { class HistogramDataJni {
public: public:
static jmethodID getConstructorMethodId(JNIEnv* env, jclass jclazz) { static jmethodID getConstructorMethodId(JNIEnv* env, jclass jclazz) {
static jmethodID mid = env->GetMethodID( static jmethodID mid = env->GetMethodID(jclazz, "<init>", "(DDDDD)V");
jclazz, "<init>", "(DDDDD)V");
assert(mid != nullptr); assert(mid != nullptr);
return mid; return mid;
} }
@ -222,7 +221,7 @@ class BackupableDBOptionsJni {
public: public:
// Get the java class id of org.rocksdb.BackupableDBOptions. // Get the java class id of org.rocksdb.BackupableDBOptions.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/BackupableDBOptions"); jclass jclazz = env->FindClass("org/rocksdb/BackupableDBOptions");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -255,7 +254,7 @@ class IteratorJni {
public: public:
// Get the java class id of org.rocksdb.Iteartor. // Get the java class id of org.rocksdb.Iteartor.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/RocksIterator"); jclass jclazz = env->FindClass("org/rocksdb/RocksIterator");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -288,7 +287,7 @@ class FilterJni {
public: public:
// Get the java class id of org.rocksdb.FilterPolicy. // Get the java class id of org.rocksdb.FilterPolicy.
static jclass getJClass(JNIEnv* env) { static jclass getJClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("org/rocksdb/Filter"); jclass jclazz = env->FindClass("org/rocksdb/Filter");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
@ -321,21 +320,21 @@ class ListJni {
public: public:
// Get the java class id of java.util.List. // Get the java class id of java.util.List.
static jclass getListClass(JNIEnv* env) { static jclass getListClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("java/util/List"); jclass jclazz = env->FindClass("java/util/List");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
// Get the java class id of java.util.ArrayList. // Get the java class id of java.util.ArrayList.
static jclass getArrayListClass(JNIEnv* env) { static jclass getArrayListClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("java/util/ArrayList"); jclass jclazz = env->FindClass("java/util/ArrayList");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }
// Get the java class id of java.util.Iterator. // Get the java class id of java.util.Iterator.
static jclass getIteratorClass(JNIEnv* env) { static jclass getIteratorClass(JNIEnv* env) {
static jclass jclazz = env->FindClass("java/util/Iterator"); jclass jclazz = env->FindClass("java/util/Iterator");
assert(jclazz != nullptr); assert(jclazz != nullptr);
return jclazz; return jclazz;
} }

Loading…
Cancel
Save