前提,安装了Thrift-0.9.0,用到的jar包:
libthrift-0.9.0.jar
log4j.1.2.14.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
编写test.thrift文件
namespace java com.test
struct RS {
1:i32 code=0;
2:string id;
3:list<RRL> children;
4:string account
}
struct RRL {
1:string id;
2:string name;
2:string desc
}
service CWS {
RS getUserInfo(1:string name)
}
执行以下命令
cd d:
thrift --gen java test.thrift
新建java工程,吧D盘下gen-java下的com文件复制到项目的src下,导入jar包。文件会报错。只要把报错的地方的@override删除即可。
编写接口实现代码和服务端代码:
public class CWSImpl implements CWS.Iface{
public RS getUserInfo(String name) throws TException{
if(name==null || name.equals("")){
return null;
}
RS rs = new RS();
rs.setCode(0);
rs.setId("1001");
}
public static void main(String[] args){
try{
CWSImpl handler = new CWSImpl();
CWS.Processor<CWSImpl> processor = new CWS.Processor<CWSImpl>(handler);
TServerTransport serverTransport = new TServerSocket(9000);
TServer server = new TSimpleServer(new TServer.Args(
serverTransport).processor(processor));
System.out.println("Starting server...");
server.serve();
} catch(Exception e){
e.printStackTrace();
}
}
}
编写客户端代码:
public class TestClient{
public static void main(String[] args){
try{
TTransport transport = new TSocket("localhost", 9000);
transport.open();
TProtocol protocol = new TBinaryProtocol(transport);
CWS.Client client = new CWS.Client(protocol);
System.out.println("client test: ");
RS rs = client.getUserInfo("tom");
System.out.println("code: " + rs.getCode() + ", id: " + rs.getId());
transport.close();
} catch (TException e) {
e.printStackTrace();
}
}
}
运行
分享到:
相关推荐
RPC-Thrift框架实现客户端服务端通讯,VS2015-2019通用。支持一个服务端对应多个客户端通信。测试通过
thrift0.9.0及编译工具ant ,maven
一个简单的demo,关于使用thrift进行跨语言服务间的通信
Thrift0.9.1 示例代码 Java版本 Thrift0.9.1 示例代码 Java版本
java代码使用thrift2操作hbase示例,thrift2连接hbase添加数据,单条查找,删除数据,根据扫描器查找,修改数据等测试实例
Apache Thrift Java实战源码,包含了客户端和服务端源码,客户端和服务端是分开的,如果需要放到一个工程,直接把Client.java文件复制到服务端运行即可。
thrift框架使用的0.9.3版本,将其在windows平台上编译,对vs2008和vs2013都实现了编译,且对这两个平台的双向通信demo也实现了编译,源码就在压缩包里面。需要libevent和boost库以及openssl库,这些三方库自己下载...
thrift开发时,将thrift文件自动生成java文件需要用到thrift-0.9.0.exe
Thrift Java 服务器 客户端通信,网上看到的,觉得不错就分享出来供大家一起共同分享学习。
php代码的客户端访问java代码的服务端. 都是工程性文件,所有文件和jar包在里面。 直接可以运行!
分析Thrift的结构动机是为了实现服务端能取到客户端的IP,因此需要对它的结构、调用流程有些了解。另外,请注意本文针对的是TNonblockingServer,不包含TThreadPoolServer、TThreadedServer和TSimpleServer。 ...
如题,thrift 0.9,很好用的呦呦呦
Java中使用Thrift实现RPC示例代码.rar
Thrift下java服务器与客户端开发指南[归纳].pdf
Thrift中实现Java与Python的RPC互相调用示例代码;Thrift中实现Java与Python的RPC互相调用示例代码;Thrift中实现Java与Python的RPC互相调用示例代码
Thrift RPC客户端的服务化框架代码,
主要是对thrift0.9.0 TSimpleServer、TThreadPoolServer 、TNonblockingServer、THsHaServer等服务模型实例和AsynClient 异步客户端实例代码的演示
一个java和python的thrift例子,其中java作为服务端,python作为客户端
压缩包分为三个部分,java工程(java的服务方,和java客户端) php工程,php的客户端 linux环境的服务方部署包以及脚本 其中myserver.tar.gz压缩包是linux...当然也可以直接导入java目录下的java工程,直接运行服务端更简单
Thrift Java服务器Javascript客户端演示一个示例项目,演示如何使Thrift与Java服务器和Javascript客户端一起使用因为花了我半天的时间来解决这个问题,所以我认为我会分享自己的发现。要求如何将thrift-0.9.2.exe...