当前位置: 首页 > news >正文

陵水建设局网站/加入网络营销公司

陵水建设局网站,加入网络营销公司,精品课程网站设计代码,做网站的花费Thrift快速入门开发demo 一、认识Thrift thrift是什么?一个RPC 代码生成框架,使用它的IDL(Interface Defination Language,接口定义语言)定义你想要实现的接口,然后它就会生成对应语言的远程调用框架代码,用户只需要实现接口逻辑,不用关心具体的细节。 tutorial:htt…

Thrift快速入门开发demo

一、认识Thrift

thrift是什么?一个RPC 代码生成框架,使用它的IDL(Interface Defination Language,接口定义语言)定义你想要实现的接口,然后它就会生成对应语言的远程调用框架代码,用户只需要实现接口逻辑,不用关心具体的细节。

tutorial:http://digital-madness.in/blog/wp-content/uploads/2012/11/BSD_08_2013.8-18.pdf

二、快速入门开发一个Demo

2.1 开发逻辑

  1. 编写IDL文件
  2. 使用IDL文件生成对应Java代码
  3. 拷贝Java代码到对应项目目录
  4. 实现接口逻辑
  5. 编写server端
  6. 编写client端

thrift --gen java /users/ccl/workspace/demo

2.2 编写IDL文件

Thrift具体语法参考官方文档Thrift interface description language

  • data.thrift
namespace java thrift.gentypedef i16 short
typedef i32 int
typedef i64 long
typedef bool boolean
typedef string Stringstruct Person{1: optional String username;2: optional int age;3: optional boolean marriage;
}exception DataException{1: optional String massage;2: optional String callback;3: optional String date;
}service PersonService{Person getPersonByUsername(1: required String username) throws(1: DataException dataException);void savePerson(1:required Person person) throws(1: DataException dataException);}

以下逐行解释:

namespace java thrift.gen

namespace定义命名空间,是一个关键字。生成的java代码会放在thrift.gen包目录下。

typedef i16 short
typedef i32 int
typedef i64 long
typedef bool boolean
typedef string String

IDL语言定义了一系列通用的基本数据类型,对应多种语言的数据类型。这里使用typedef关键字显示地为idl和java中的数据类型做一个别名替换,方便后续代码编写。

struct Person{1: optional String username;2: optional int age;3: optional boolean marriage;
}

struct结构体对应java中的class。这里我们定义了一个Person类。IDL规定定义数据要包含类似 1:的位置提示符。optional表示可选的,这里无多大意义。

exception DataException{1: optional String massage;2: optional String callback;3: optional String date;
}

exception关键字定义了异常类型,用法和struct一致,只是关键字名称改变。

service PersonService{Person getPersonByUsername(1: required String username) throws(1: DataException dataException);void savePerson(1:required Person person) throws(1: DataException dataException);
}

service关键字定义了一个服务。生成的java代码也是一个类,类中定义了两个方法。我们需要实现这两个方法的接口。

2.3 生成java代码

两种方法:

  • 自己安装thrift然后运行命令 thrift --gen java gen-java
    • 生成的代码就会放在gen-java目录下
  • 在线thrift编译平台
    • 版本号要与jar包一致

不出意外,会生成

  • DataException.java
  • Person.java
  • PesonService.java

三个文件,放在package thrift.gen下。这三个类都封装好许多底层代码。

2.4 实现接口逻辑

现在,我们需要自己实现PersonService类中的两个方法。

在pom.xml下引入maven依赖

<dependency><groupId>org.apache.thrift</groupId><artifactId>libthrift</artifactId><version>0.9.3</version>
</dependency>

版本号根据安装的thrift决定。

  • PersonServiceImpl.java
import org.apache.thrift.
http://www.ho-use.cn/article/820.html

相关文章:

  • 网站制作公司怎么运营/石家庄头条今日头条新闻
  • 保健品网站源码/网络营销的发展概述
  • 高端html5网站设计工作室织梦模板 dedecms5.7/自助建站平台
  • 关于加强网站信息建设的通知/百度长尾关键词挖掘
  • 游戏网站怎么做seo/上海百度推广开户
  • 食堂网站建设网站维护公司
  • wap建站程序/百度云网盘网页版
  • 网站建设需要材料/汽油价格最新调整最新消息
  • 那里可以建网站/新闻稿范文300字
  • 北京朝阳区建设工作办公网站/全网关键词搜索工具
  • 酒店网站的规划与建设/seo人员是什么意思
  • 用macbook做网站开发/今日新闻摘抄50字
  • 个人简历模板下载 免费完整版/惠州百度seo在哪
  • 制作网站需要什么软件/wordpress自助建站
  • 在线男人和女人做那件事网站/香飘飘奶茶
  • 网站搜索排名优化怎么做/网站搜索工具
  • 做网站需要服务器吗/开封网站优化公司
  • 做系统前怎么保存网站上的收藏夹/推广普通话手抄报内容简短
  • 扬州广陵区建设局网站/佛山旺道seo优化
  • 服饰类网站开发项目/策划方案模板
  • 在哪个网站可以学做甜点/百度下载
  • 聊城网站建设公司/网站收录服务
  • 深圳手机端网站建设专业公司/公司推广渠道
  • 网站建设策划书的撰写/苹果aso优化
  • 做组织架构图的网站/厦门排名推广
  • 图片展示网站/网站建设解决方案
  • 新密建设局网站/百度信息流投放技巧
  • 莱芜今日最新消息/天津seo优化公司
  • 全国高端网站/百度有刷排名软件
  • wordpress year/木卢seo教程