最近做的项目是使用CXF编写Service,给公司的其他项目提供接口的。由于需求问题,改用Thrift。下面就总结下自己学习Apache Thrift的内容,和例子。
1. 下载thrift-0.9.0.exe 。我使用的是win7系统,将该文件复制到C盘Windows下,并改名thrift.exe方便执行命令。运行cmd.exe。输入命令
thrift -version
输出Thrift version 0.9.0则可以使用该命令。
2.编写HelloWorld.thrift(D:\)。
namespace java com.test.rpc
service TestService {
string getUsername(1:i32 id);
}
在之前打开的cmd.exe中,切换路径到存放thrift文件的文件夹下,执行命令:
D:
thrift --gen java HelloWorld.thrift
没有报错的话,在D盘下会生成一个文件夹gen-java ,刚刚执行命令生成的文件com\test\rpc\TestService.java
TestService.java是编译好的客户端和服务端的支持代码。
3.新建一个工程,将com文件夹直接考到工程的src下。或者可以将文件添加到已有的项目中。
工程导入Thrift相关的jar包。简单的编写服务和客户端。
libthrift.jar
log4j-1.2.16.jar
slf4j-api-1.6.1.jar
slf4j-log4j12-1.6.1.jar
4.编写接口的实现类
public class ThriftServer implement TestService.Iface{
public String getUsername(int id){
if(id>0){
return "Hello Join!";
} else {
return "not exist!";
}
}
public static void main(String[] args){
try{
ThriftServer t = new ThriftServer();
TestService.Processor p = new TestService.Processor(t);
TServerTransport serverTransport = new TServerTransport(9090);
TServer server = new TThreadPoolServer(p, serverTransport);
System.out.println("Starting the server ...");
server.serve();
}catch (Exception e){
e.printStackTrace();
}
}
}
5.编写客户端代码
public class ThriftClient{
public static void main(String[] args){
TTransport transport = new TSocket("localhost", 9090);
TProtocol protocol = new TBinaryProtocol(transport);
TestService.Client cient = new TestService.Client(protocol);
try{
transport.open();
String str = client.getUsername(10);
System.out.println(str);
} catch(TException e){
e.printStackTrace();
} finally {
transport.close();
}
}
}
6.执行ThriftServer文件,启动服务
7.执行ThriftClient文件,测试
分享到:
相关推荐
阅读Thrift白皮书,将主要内容整理成了中文文档。
thrift入门学习教程
这是对Facebook开源框架Thrift的分享,并且附有示例代码。
thrift 培训资料,详细的说明了TRRIFT不同的服务的区别以及建议
Apache Thrift is an open source cross language serialization and RPC framework. With support for over 15 programming languages, Apache Thrift can play an important role in a range of distributed ...
thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码thrift源码...
thrift 安装包。
NULL 博文链接:https://onlyor.iteye.com/blog/1700777
网上一直搜不到Windows下QT使用thrift的例子,自己整了个 QT版本 5.8.0 Boost版本 boost_1_61_0 Thrift版本 thrift-0.10.0
使用wireshark抓取thrift协议接口调用
thrift官方代码+与dubbo集成支持原生thrift协议
thrift,Apache Thrift 0.9.2 版本,解压后直接直接安装,可伸缩的跨语言服务开发框架,命令: 解压命令:tar -zxf thrift-0.9.2.tar.gz 安装命令:./configure --with-lua=no && make && make install 查看版本:...
NULL 博文链接:https://chenzheng8975.iteye.com/blog/1740434
thrift是一个软件框架,用来进行可扩展且跨语言的服务的开发。它结合了功能强大的软件堆栈和代码生成引擎,以构建在 C++, Java, Python, PHP, Ruby, Erlang, Perl, Haskell, C#, Cocoa, JavaScript, Node.js, ...
thrift-编译工具
thrift delphi的实例测试,适用于学习。知识在于共享 。
Make applications cross-communicate using Apache Thrift! About This Book Leverage Apache Thrift to enable applications written in different programming languages (Java, C++, Python, PHP, Ruby, and so...
通俗简单的介绍了什么是thrift,适用于thrift或RPC扫盲。
unity3d-thrift-twistedunity3d-thrift-twistedunity3d-thrift-twisted
thrift文件生成工具thrift-0.9.1.exe和thrift-0.9.2.exe压缩包