Apache thrift를 쉽게 접근하기 위한 도움을 제공합니다.
최신 버전(0.9.1)을 기준으로 합니다.
- Thrift Introduction
- Thrift: The Missing Guide
- Thrift vs Protocol Buffer vs Avro
- Data serialization formats
- Ubuntu Linux
- JDK7
- Apache-ant-1.9.4
- Apache-maven-3.2.1
- IntelliJ 13.1.3
<dependency>
<groupId>org.apache.thrift</groupId>
<artifactId>libthrift</artifactId>
<version>0.9.1</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>1.5.8</version>
</dependency>
메이븐을 통한 소스코드 자동링크는 현재 버그로 불가능THRIFT-2269
thrift0.9.1.zip 다운로드하여 직접 경로지정
- interface : Thrift로 생성한 특정 언어의 인터페이스 소스코드를 가지는 모듈로 .thrift파일을 포함하고 있습니다.
- client-example : Thrift로 생성된 클라이언트 인터페이스를 구현한 어플리케이션입니다.
- server-cxample : Thrift로 생성된 서버 인터페이스를 구현한 어플리케이션입니다.
- common : 외부 라이브러리 묶음 입니다.
- echo
- file upload
- file download
- Generate source
- Usage run_thrift
$ ./run_thrift [project root] [java or py or ...]
- Java
$ cd your project path/interface/idl
$ ./run_thrift . java- python
$ cd your project path/interface/idl
$ ./run_thrift . py - Prepare common
- Create Maven artifacts
$ cd your project path/common
$ mvn install
$ cd ../interface
$ mvn install - Execute server
- Java
$ cd your project path/server-example
$ mvn install
$ java -jar target/server-example-1.0-SNAPSHOT.jar - Execute client
- Java
$ cd your project path/client-example
$ mvn install
$ java -jar target/client-example-1.0-SNAPSHOT.jar- python
$ cd client-example-py
$ python ExampleClient.py