首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

Thrift入门试工

2012-10-27 
Thrift入门试用在新的项目中公司在平台内部系统间使用Thrift通讯,都没有听说过。然后听同事说,是跨语言Sock

Thrift入门试用

在新的项目中公司在平台内部系统间使用Thrift通讯,都没有听说过。然后听同事说,是跨语言Socket通讯的开源组件。

功能及特点

1.跨平台和语言的Socket通讯组件。

2.根据伪代码的结构语言定义对象和服务结构,然后生成各语言的代码和接口

3.各语言根据组件提供的库,编写客户端和服务器端程序。服务器端实现接口并编写业务逻辑。

4.服务器端支持多种序列化方式(Binary,Compact,JSON等)和多种服务器实现

?

太晚了,以后在完善,先贴代码了

?

本测试使用WINDOW环境和JAVA语言

?

1.下载和安装

下载地址:http://thrift.apache.org

下载最新版本,当前0.7.0

?编写服务器代码

package org.acooly.thrift.demo.client;import java.util.Calendar;import java.util.List;import org.acooly.thrift.demo.generalcode.Contact;import org.acooly.thrift.demo.generalcode.ContactManager;import org.apache.thrift.protocol.TCompactProtocol;import org.apache.thrift.protocol.TProtocol;import org.apache.thrift.transport.TSocket;import org.apache.thrift.transport.TTransport;public class ThriftClient {public static void main(String[] args) throws Exception{TTransport transport = new TSocket("localhost",8111);TProtocol protocol = new TCompactProtocol(transport);ContactManager.Client client = new ContactManager.Client(protocol);transport.open();List<Contact> list = client.getAll();System.out.println(list);client.save(new Contact(1,"zhangpu",Calendar.getInstance().getTimeInMillis(),"1389612222","192.168.2.1",null));client.remove(1);transport.close();}}
?

?

7.启动和测试运行

1.运行ThriftServer

2.运行ThriftClient

?

ThriftServer输出:

invoke: save,contact = Contact(id:1, name:zhangpu, birthday:1308591769148, phoneNo:1389612222, ipAddress:192.168.2.1, props:null)
invoke: remove,id = 1

?

ThriftClient输出:

[Contact(id:1, name:zhangpu, birthday:1308591769131, phoneNo:1389612222, ipAddress:192.168.2.1, props:null)]

?

?

?

?

热点排行