[Java] Add basic Java binding for rocksdb::Env.

Summary: Add basic Java binding for rocksdb::Env.

Test Plan:
make rocksdbjava
make jtest
cd java
./jdb_bench.sh --max_background_compactions=1
./jdb_bench.sh --max_background_compactions=10

Reviewers: sdong, ankgup87, haobo

Reviewed By: haobo

Subscribers: leveldb

Differential Revision: https://reviews.facebook.net/D18903
This commit is contained in:
Yueh-Hsuan Chiang
2014-06-05 17:09:25 -07:00
parent b92a19a431
commit e72b02e3c2
6 changed files with 187 additions and 5 deletions

View File

@@ -24,6 +24,7 @@ public class Options extends RocksObject {
super();
cacheSize_ = DEFAULT_CACHE_SIZE;
newOptions();
env_ = RocksEnv.getDefault();
}
/**
@@ -42,6 +43,24 @@ public class Options extends RocksObject {
return this;
}
/**
* Use the specified object to interact with the environment,
* e.g. to read/write files, schedule background work, etc.
* Default: RocksEnv.getDefault()
*/
public Options setEnv(RocksEnv env) {
assert(isInitialized());
setEnv(nativeHandle_, env.nativeHandle_);
env_ = env;
return this;
}
private native void setEnv(long optHandle, long envHandle);
public RocksEnv getEnv() {
return env_;
}
private native long getEnvHandle(long handle);
/**
* Return true if the create_if_missing flag is set to true.
* If true, the database will be created if it is missing.
@@ -2351,4 +2370,5 @@ public class Options extends RocksObject {
long cacheSize_;
Filter filter_;
RocksEnv env_;
}