Java で Thrift ってみる on Windows その1

Java で使える高速な RPC ミドルを探して Thrift を試してみたのでメモ

いるもの

Apache Thrift
これがなけりゃはじまらない
Thriftコンパイラのバイナリパッケージ
Thrift IDL から言語毎のコード生成するのに必要。Linuxだと簡単にビルドできるけど、Windows上では面倒なのでビルド済みのものを使う。
Apache Ant
Thrift のjarライブラリビルドに必要
Java
いや、Javaでやるんでしょ?

Apache Thrift の入手

Thrift 本体

まずは本体
http://incubator.apache.org/thrift/download/ から thrift-incubating-0.2.0.tar.gz

WinバイナリなThriftIDLコンパイラの入手

http://www.fkollmann.de/v2/post/Thrift-Windows-Binaries-for-Cassandra.aspx の Download: Thrift Compiler v0.2 for Windows から thrift-compiler-0_2.zip

展開すると 4 ファイル出てくるけれど必要なファイルは

  • thrift.exe
  • cygwin1.dll

の 2 つだけ。


Cygwin 環境で頑張れば本体からビルドできるらしいけど、環境作る時間もないのでパス。
CentOS5.4 上ではサクッと make できたので、環境ある人はそちらで ThriftIDL からコード生成する手もあり。

Java 用のライブラリ(libthrift.jar)のビルド

Apache Ant が使える状態になっていることが前提。

まず本体の thrift-incubating-0.2.0.tar.gz を展開する。
thrift-0.2.0\lib\java に移動

> cd thrift-0.2.0\lib\java

thrift-0.2.0\lib\java で ant 実行

> ant

これで Java 用ライブラリの libthrift.jar ができる。
build\lib 以下に依存ライブラリの commons-lang-2.4.jar, slf4j-api-1.5.8.jar, slf4j-simple-1.5.8.jar がダウンロードされるので、これらのファイルも確保しておく。

Thrift を使ったコードを書く場合は libthrift.jar と依存ライブラリの 4 つの jar ファイルをクラスパスに追加すること。
例えば

> set CLASSPATH=%CLASSPATH%;libthrift.jar;commons-lang-2.4.jar;slf4j-api-1.5.8.jar;slf4j-simple-1.5.8.jar

みたいな(環境依存なので注意)。


実際に RPC をしてみるのはその2で。