- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
thrift正常的调用过程.docx
thrift正常的调用过程
Object
Read()/write()
TProtocol
TTransport
TProtocol
TTransport
物理网络
Object
Read()/write()
client
Processor
用户代码
用户代码
用户编写的
Thrift自动
生成的
能否考虑
自动生成?
thrift的使用过程改进
使用thrift工具生成客户端和服务器端代码框架
开发人员编写自己的业务代码
开发人员用‘thrift生成的代码’+’自己编写的业务代码’组装成真正的服务
1
2
3
由于thrift设计充分采用了分层思想,这使得我们有可能把上面第二个环节给省略掉,而采用自动化的方式来完成,这样就比使用thrift生成的静态代码更能给开发人员带来简便、灵活性。改进后的使用过程如下:
开发人员编写自己的业务代码
开发人员’调用thrift自动化组件’+ ’自己编写的业务代码’组装成真正的服务
1
2
自动化thrift的代码示例_client端
public static void main(String[] args) {
try {
// 第一步: 使用thrift的TTransport类
TTransport transport = null;
transport = new TSocket(localhost, 9090);
transport.open();
TProtocol protocol = new TBinaryProtocol(transport);
// 第二步: 生成对应thrift配置文件解析引擎,并生成自动Client实例
AutoThriftGenerator tmpAutoThriftGenerator = new AutoThriftGenerator();
ThriftServicesParser tmpThriftServicesParser =
tmpAutoThriftGenerator.generateAutoThrift(D:/资料/thrift, firstTest.thrift);
AutoClient client = new AutoClient(protocol, UserStorage, tmpThriftServicesParser);
// 第三步: 使用自动Client实例,调用具体的远端服务(用户自己编写的业务代码)
CommonArgs tmpCommonArgs = new CommonArgs();
tmpCommonArgs.addOneValue(uid, 10);
tmpCommonArgs.addOneValue(test, test123);
ArrayList tmpList = (ArrayList) client.sendRequest(retrieve, tmpCommonArgs);
// 第四步: 关闭通讯链路
transport.close();
}
catch (TException x) {
x.printStackTrace();
}
catch (CommonException ae) {
ae.printStackTrace();
}
}
自动化thrift的代码示例_server端
public static void main(String[] args)
{
try {
// 第一步: 用户自己编写的业务代码
AutoTestHandler handler = new AutoTestHandler();
// 第二步: 生成对应thrift配置文件解析引擎,并生成自动TProcessor实例
AutoThriftGenerator tmpAutoThriftGenerator = new AutoThriftGenerator();
ThriftServicesParser tmpThriftServicesParser =
您可能关注的文档
最近下载
- 八年级上册数学 两数和(差)的平方(完全平方公式) 精选练习题.doc VIP
- 光学红外雨量IFR202型传感器使用说明.pdf VIP
- 离心机5417D和5417R操作手册.zip.doc VIP
- 海量数据存储方案设计.docx VIP
- 小学文明礼仪教育班会问候一声,温暖人心课件(27张PPT).pdf VIP
- T_CALC 05—2024(急诊患者人文关怀规范).pdf VIP
- 中华人民共和国监察法全面解读.pptx VIP
- 韩国电影与文化.ppt
- 新人教版七年级美术上册第三单元第3课《奖牌设计》精品课件.pptx VIP
- 2025年江西省南昌市辅警协警笔试笔试真题(含答案).docx VIP
原创力文档


文档评论(0)