Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
kvdb
rocksdb
提交
1d284db2
R
rocksdb
项目概览
kvdb
/
rocksdb
11 个月 前同步成功
通知
0
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rocksdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
1d284db2
编写于
9月 08, 2014
作者:
N
Naveen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Addressing review comments
上级
343e98a7
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
23 addition
and
25 deletion
+23
-25
Makefile
Makefile
+14
-13
java/org/rocksdb/NativeLibraryLoader.java
java/org/rocksdb/NativeLibraryLoader.java
+5
-5
java/org/rocksdb/Options.java
java/org/rocksdb/Options.java
+1
-1
java/org/rocksdb/RocksDB.java
java/org/rocksdb/RocksDB.java
+3
-6
未找到文件。
Makefile
浏览文件 @
1d284db2
...
@@ -245,7 +245,7 @@ unity: unity.cc unity.o
...
@@ -245,7 +245,7 @@ unity: unity.cc unity.o
clean
:
clean
:
-
rm
-f
$(PROGRAMS)
$(TESTS)
$(LIBRARY)
$(SHARED)
$(MEMENVLIBRARY)
build_config.mk unity.cc
-
rm
-f
$(PROGRAMS)
$(TESTS)
$(LIBRARY)
$(SHARED)
$(MEMENVLIBRARY)
build_config.mk unity.cc
-
rm
-rf
ios-x86/
*
ios-arm/
*
-
rm
-rf
ios-x86/
*
ios-arm/
*
-
find
.
-name
"*.[od]"
-exec
rm
{}
\;
-
find
.
-name
"*.[od
a
]"
-exec
rm
{}
\;
-
find
.
-type
f
-regex
".*
\.\(\(
gcda
\)\|\(
gcno
\)\)
"
-exec
rm
{}
\;
-
find
.
-type
f
-regex
".*
\.\(\(
gcda
\)\|\(
gcno
\)\)
"
-exec
rm
{}
\;
tags
:
tags
:
ctags
*
-R
ctags
*
-R
...
@@ -480,29 +480,30 @@ ROCKSDBJNILIB = librocksdbjni.jnilib
...
@@ -480,29 +480,30 @@ ROCKSDBJNILIB = librocksdbjni.jnilib
JAVA_INCLUDE
=
-I
/System/Library/Frameworks/JavaVM.framework/Headers/
JAVA_INCLUDE
=
-I
/System/Library/Frameworks/JavaVM.framework/Headers/
endif
endif
libz.a
:
rocksdbjavastatic
:
-
rm
-rf
zlib-1.2.8
#build zlib
curl
-O
http://zlib.net/zlib-1.2.8.tar.gz
curl
-O
http://zlib.net/zlib-1.2.8.tar.gz
tar
xvzf zlib-1.2.8.tar.gz
tar
xvzf zlib-1.2.8.tar.gz
cd
zlib-1.2.8
&&
CFLAGS
=
'-fPIC'
./configure
--static
&&
make
cd
zlib-1.2.8
&&
CFLAGS
=
'-fPIC'
./configure
--static
&&
make
cp
zlib-1.2.8/libz.a .
cp
zlib-1.2.8/libz.a
.
rm
-rf
zlib-1.2.8.tar.gz zlib-1.2.8
libbz2.a
:
#build bzip
-
rm
-rf
bzip2-1.0.6
curl
-O
http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
curl
-O
http://www.bzip.org/1.0.6/bzip2-1.0.6.tar.gz
tar
xvzf bzip2-1.0.6.tar.gz
tar
xvzf bzip2-1.0.6.tar.gz
cd
bzip2-1.0.6
&&
make
CFLAGS
=
'-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64'
cd
bzip2-1.0.6
&&
make
CFLAGS
=
'-fPIC -Wall -Winline -O2 -g -D_FILE_OFFSET_BITS=64'
cp
bzip2-1.0.6/libbz2.a .
cp
bzip2-1.0.6/libbz2.a .
rm
-rf
bzip2-1.0.6.tar.gz bzip2-1.0.6
#build snappy
libsnappy.a
:
-
rm
-rf
snappy-1.1.1
curl
-O
https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz
curl
-O
https://snappy.googlecode.com/files/snappy-1.1.1.tar.gz
tar
xvzf snappy-1.1.1.tar.gz
tar
xvzf snappy-1.1.1.tar.gz
cd
snappy-1.1.1
&&
./configure
--with-pic
--enable-static
cd
snappy-1.1.1
&&
./configure
--with-pic
--enable-static
cd
snappy-1.1.1
&&
make
cd
snappy-1.1.1
&&
make
cp
snappy-1.1.1/.libs/libsnappy.a .
cp
snappy-1.1.1/.libs/libsnappy.a .
rm
-rf
snappy-1.1.1 snappy-1.1.1.tar.gz
rocksdbjavastatic
:
libz.a libbz2.a libsnappy.a
OPT
=
"-fPIC -DNDEBUG -O2"
$(MAKE)
$(LIBRARY)
-j
OPT
=
"-fPIC -DNDEBUG -O2"
$(MAKE)
$(LIBRARY)
-j
cd
java
;
$(MAKE)
java
;
cd
java
;
$(MAKE)
java
;
rm
-f
./java/
$(ROCKSDBJNILIB)
rm
-f
./java/
$(ROCKSDBJNILIB)
...
...
java/org/rocksdb/NativeLibraryLoader.java
浏览文件 @
1d284db2
...
@@ -2,8 +2,7 @@ package org.rocksdb;
...
@@ -2,8 +2,7 @@ package org.rocksdb;
import
java.io.*
;
import
java.io.*
;
public
class
NativeLibraryLoader
public
class
NativeLibraryLoader
{
{
private
static
String
sharedLibraryName
=
"librocksdbjni.so"
;
private
static
String
sharedLibraryName
=
"librocksdbjni.so"
;
private
static
String
tempFilePrefix
=
"librocksdbjni"
;
private
static
String
tempFilePrefix
=
"librocksdbjni"
;
...
@@ -14,13 +13,14 @@ public class NativeLibraryLoader
...
@@ -14,13 +13,14 @@ public class NativeLibraryLoader
private
NativeLibraryLoader
()
{
private
NativeLibraryLoader
()
{
}
}
public
static
void
loadLibraryFromJar
()
throws
IOException
{
public
static
void
loadLibraryFromJar
()
throws
IOException
{
File
temp
=
File
.
createTempFile
(
tempFilePrefix
,
tempFileSuffix
);
File
temp
=
File
.
createTempFile
(
tempFilePrefix
,
tempFileSuffix
);
temp
.
deleteOnExit
();
temp
.
deleteOnExit
();
if
(!
temp
.
exists
())
{
if
(!
temp
.
exists
())
{
throw
new
FileNotFound
Exception
(
"File "
+
temp
.
getAbsolutePath
()
+
" does not exist."
);
throw
new
Runtime
Exception
(
"File "
+
temp
.
getAbsolutePath
()
+
" does not exist."
);
}
}
byte
[]
buffer
=
new
byte
[
1024
];
byte
[]
buffer
=
new
byte
[
1024
];
...
@@ -28,7 +28,7 @@ public class NativeLibraryLoader
...
@@ -28,7 +28,7 @@ public class NativeLibraryLoader
InputStream
is
=
ClassLoader
.
getSystemClassLoader
().
getResourceAsStream
(
sharedLibraryName
);
InputStream
is
=
ClassLoader
.
getSystemClassLoader
().
getResourceAsStream
(
sharedLibraryName
);
if
(
is
==
null
)
{
if
(
is
==
null
)
{
throw
new
FileNotFound
Exception
(
sharedLibraryName
+
" was not found inside JAR."
);
throw
new
Runtime
Exception
(
sharedLibraryName
+
" was not found inside JAR."
);
}
}
OutputStream
os
=
new
FileOutputStream
(
temp
);
OutputStream
os
=
new
FileOutputStream
(
temp
);
...
...
java/org/rocksdb/Options.java
浏览文件 @
1d284db2
...
@@ -13,7 +13,7 @@ package org.rocksdb;
...
@@ -13,7 +13,7 @@ package org.rocksdb;
* native resources will be released as part of the process.
* native resources will be released as part of the process.
*/
*/
public
class
Options
extends
RocksObject
{
public
class
Options
extends
RocksObject
{
static
{
static
{
RocksDB
.
loadLibrary
();
RocksDB
.
loadLibrary
();
}
}
static
final
long
DEFAULT_CACHE_SIZE
=
8
<<
20
;
static
final
long
DEFAULT_CACHE_SIZE
=
8
<<
20
;
...
...
java/org/rocksdb/RocksDB.java
浏览文件 @
1d284db2
...
@@ -19,8 +19,7 @@ import org.rocksdb.NativeLibraryLoader;
...
@@ -19,8 +19,7 @@ import org.rocksdb.NativeLibraryLoader;
* All methods of this class could potentially throw RocksDBException, which
* All methods of this class could potentially throw RocksDBException, which
* indicates sth wrong at the rocksdb library side and the call failed.
* indicates sth wrong at the rocksdb library side and the call failed.
*/
*/
public
class
RocksDB
extends
RocksObject
public
class
RocksDB
extends
RocksObject
{
{
public
static
final
int
NOT_FOUND
=
-
1
;
public
static
final
int
NOT_FOUND
=
-
1
;
private
static
final
String
[]
compressionLibs_
=
{
private
static
final
String
[]
compressionLibs_
=
{
...
@@ -35,8 +34,7 @@ public class RocksDB extends RocksObject
...
@@ -35,8 +34,7 @@ public class RocksDB extends RocksObject
* Loads the necessary library files.
* Loads the necessary library files.
* Calling this method twice will have no effect.
* Calling this method twice will have no effect.
*/
*/
public
static
synchronized
void
loadLibrary
()
public
static
synchronized
void
loadLibrary
()
{
{
// loading possibly necessary libraries.
// loading possibly necessary libraries.
for
(
String
lib
:
compressionLibs_
)
{
for
(
String
lib
:
compressionLibs_
)
{
try
{
try
{
...
@@ -45,14 +43,13 @@ public class RocksDB extends RocksObject
...
@@ -45,14 +43,13 @@ public class RocksDB extends RocksObject
// since it may be optional, we ignore its loading failure here.
// since it may be optional, we ignore its loading failure here.
}
}
}
}
try
try
{
{
NativeLibraryLoader
.
loadLibraryFromJar
();
NativeLibraryLoader
.
loadLibraryFromJar
();
}
}
catch
(
IOException
e
)
catch
(
IOException
e
)
{
{
e
.
printStackTrace
(
);
throw
new
RuntimeException
(
"Unable to load the RocksDB shared library"
+
e
);
}
}
}
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录