thrift正常的调用过程.docxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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 =

文档评论(0)

ailuojue1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档