部署Simple Binary Encoding (SBE)

吉俊德
2023-12-01
linux Ubuntu16.04 为例

1. 安装
$ sudo apt-get install git 
下载项目

2. 安装linux jdk
① 登录jdk官网下载对应系统版本的jdk包( http://www.oracle.com/technetwork/java/javase/downloads/index.html
如,jdk-8u161-linux-x64.tar.gz。
方法1:直接下载到本机,使用传输工具传输。如SSH的WinSCP
方法2:获取下载链接, 使用wget下载
$ wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/jdk-8u161-linux-x64.tar.gz

方法3:使用curl下载(需安装curl)

② 配置环境变量
$ vim /etc/profile

尾部添加
export JAVA_HOME=/usr/java/jdk1.8.0_60  # jdk位置
export CLASSPATH=$JAVA_HOME/lib/
export PATH=$PATH:$JAVA_HOME/bin
export PATH JAVA_HOME CLASSPATH
重启系统
$ shutdown -r now
查询是否正确安装
$ java -version 
安装成功:
java version "1.8.0_161"
Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)

3. 编译
在sbe根目录运行gradlew,编译项目.(如果下载不成功,可能是网络问题,多试几次,直到成功为止)
$ ./gradlew

下载cme的templates_FixBinary.xml到sbe根目录下

$ java -Dsbe.target.language=Cpp -Dsbe.output.dir=target -Dsbe.keyword.append.token=_ -jar sbe-all/build/libs/sbe-all-1.7.1-SNAPSHOT.jar  templates_FixBinary.xml
用法说明:
-Dsbe.target.language=cpp
输出的目标代码,cpp
-Dsbe.output.dir=target
输出地址,根目录下的target文件夹
-Dsbe.keyword.append.token=_
由于final是c++关键字 ,需要加上(详细解释见官方文档)
sbe-all/build/libs/sbe-all-x.x.x-SNAPSHOT.jar
需要根据在sbe-all/build/libs/ 下SNAPSHOT.jar的版本号,如 sbe-all/build/libs/sbe-all-1.7.1-SNAPSHOT.jar, sbe-all/build/libs/sbe-all-1.7.10-SNAPSHOT.jar
templates_FixBinary.xml
从cme下载的文档,放在根目录下

运行成功后,会生成一个文件夹 target ,里面的mktdata就是我们所需要的文件夹,包含着cpp的头文件。
拷贝simple-binary-encoding/sbe-tool/src/main/cpp/ 下的sbe文件夹到mkdata文件夹内,因为需要调用。

Tips:
以上只是本人一点点的操作经验,GitHub上有其他的一些方法可以编译。

 类似资料: