- 1、本文档共7页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Apache Thrift学习小记参考:/thrift//thrift/FrontPage?/jnb/jnbJun2009.html非常好的入门教程/thrift/thriftpdfthrift开发者写的论文??Thrift是个啥东东?来自/thrift/FrontPage的定义?Thrift?is a software framework for scalable cross-language services development.?Thrift是为了实现跨语言服务访问的一个框架?Thrift allows you to define data types and service interfaces in a simple definition file.Thrift定义了数据和服务的描述方式,是一种IDL?Taking that file as input, the compiler generates code to be used to easily build RPC clients and servers that communicate seamlessly across programming languages.写一个定义文件,就可以使用thrift来生成某种语言RPC客户端和服务端程序框架。你只需要考虑如何实现你的服务就可以了。并且它支持很多种语言。?这有点像web service, 定义好一个web service服务描述文件后,可以使用如axis等工具生成服务器端或客户端的框架程序。?为什么还需要Thriftthriftpdf中有解释。1、多语言开发的需要比如其中提到的有哪些信誉好的足球投注网站服务,LAMP本身没有这个功能,开发者可能使用C++开发,php如何访问这个服务呢?于是需要有一种高效的跨语言访问的方法。2、性能问题web service也可以实现多语言互访问的功能,但xml文件太大,性能不行。Thrift可以使用二进值的格式。?开始测试实现一个简单的服务,就是根据loginName得到User, user中有userId,loginName, name, password?第一步,写Thrift IDL文件,user.thrift,?[c-sharp]?view plaincopynamespace?java?mytest.thrift.gen??namespace?py?mytest.thrift??struct?User?{????1:?i32????userId,????2:?string?loginName,????3:?string?password,????4:?string?name??}??exception?UserNotFound?{????1:?string?message??}??service?UserService?{????User?getUser(1:string?loginName)?throws?(1:UserNotFound?unf),????listUser?getUsers()??}????第二步,生成java和python代码thrift --gen java user.thriftthrift --gen pyuser.thrift?第三步,实现java服务端参见:/thrift/ThriftUsageJava?服务实现 UserServiceHandler.java?[java]?view plaincopypackage?myserver;??import?java.util.ArrayList;??import?java.util.List;??import?mytest.thrift.gen.User;??import?mytest.thrift.gen.UserNotFound;??import?mytest.thrift.gen.UserService;??import?org.apache.thrift.TException;??public?class?UserServiceHandler?implements?UserService.Iface?{??????@Override??????public?User?getUser(String?loginName)?throws?UserNotFound,?TException?{??????????if?(!login1.equals(loginName))?{??????????????UserNotFound?e?=?new?UserNotFound(User?not?Found!);??????????????throw?e;??????????}?
您可能关注的文档
- 英文字体分类小计.doc
- 四级作文22篇.doc
- dx_auth中文文档.docx
- Global Cresol(甲酚) Market Professional Survey Report 2017目录.docx
- 2014年12月大学英语六级模拟题1.docx
- Global Olive Leaf Extract(橄榄叶提取物) Market Professional Survey Report 2017目录.docx
- 港大校长徐立之百年校庆演讲.doc
- Global 3D Image Sensors(三维图像传感器) Market Professional Survey Report 2017目录.docx
- United States Video Door-phone(视频的电话)Market Report 2017目录.docx
- 采煤机英文翻译.docx
文档评论(0)