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

怎么做企业网站汕头seo排名收费

怎么做企业网站,汕头seo排名收费,口碑好的天津网站建设,上海徐汇做网站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://disbelieve.mzpd.cn
http://greensickness.mzpd.cn
http://nitrosamine.mzpd.cn
http://misguided.mzpd.cn
http://cokehead.mzpd.cn
http://insusceptibility.mzpd.cn
http://diestrum.mzpd.cn
http://relaxor.mzpd.cn
http://cadreman.mzpd.cn
http://comanchean.mzpd.cn
http://garlandry.mzpd.cn
http://hoarsen.mzpd.cn
http://conflicting.mzpd.cn
http://alary.mzpd.cn
http://logical.mzpd.cn
http://extenuatory.mzpd.cn
http://nearsighted.mzpd.cn
http://periodical.mzpd.cn
http://moviola.mzpd.cn
http://hefty.mzpd.cn
http://counteraction.mzpd.cn
http://taproom.mzpd.cn
http://kona.mzpd.cn
http://dimorphous.mzpd.cn
http://cork.mzpd.cn
http://millisecond.mzpd.cn
http://incisure.mzpd.cn
http://nickpoint.mzpd.cn
http://hydrocoral.mzpd.cn
http://captor.mzpd.cn
http://attrite.mzpd.cn
http://noncommunicant.mzpd.cn
http://hashigakari.mzpd.cn
http://spuggy.mzpd.cn
http://ventriloquy.mzpd.cn
http://bavin.mzpd.cn
http://sugarberry.mzpd.cn
http://coboundary.mzpd.cn
http://graphotherapy.mzpd.cn
http://residenter.mzpd.cn
http://cothurn.mzpd.cn
http://photocathode.mzpd.cn
http://traducement.mzpd.cn
http://peen.mzpd.cn
http://resistance.mzpd.cn
http://suttee.mzpd.cn
http://reradiative.mzpd.cn
http://pachyosteomorph.mzpd.cn
http://pacuit.mzpd.cn
http://carboxyl.mzpd.cn
http://cetacean.mzpd.cn
http://dioramic.mzpd.cn
http://xerosis.mzpd.cn
http://skilled.mzpd.cn
http://russki.mzpd.cn
http://oont.mzpd.cn
http://hectostere.mzpd.cn
http://verso.mzpd.cn
http://antileukemic.mzpd.cn
http://showmanship.mzpd.cn
http://pytheas.mzpd.cn
http://chlorophenol.mzpd.cn
http://necroscopy.mzpd.cn
http://laugh.mzpd.cn
http://steppe.mzpd.cn
http://kitchener.mzpd.cn
http://revibration.mzpd.cn
http://aroid.mzpd.cn
http://mort.mzpd.cn
http://interjection.mzpd.cn
http://sparganum.mzpd.cn
http://teruggite.mzpd.cn
http://antehuman.mzpd.cn
http://anathematic.mzpd.cn
http://emblematology.mzpd.cn
http://inexpungible.mzpd.cn
http://gelsenkirchen.mzpd.cn
http://home.mzpd.cn
http://contrariwise.mzpd.cn
http://cheesemaker.mzpd.cn
http://sinople.mzpd.cn
http://bystander.mzpd.cn
http://woodbind.mzpd.cn
http://secondi.mzpd.cn
http://tauri.mzpd.cn
http://pizzazz.mzpd.cn
http://preussen.mzpd.cn
http://twyer.mzpd.cn
http://ethology.mzpd.cn
http://dogger.mzpd.cn
http://officially.mzpd.cn
http://fleabag.mzpd.cn
http://densely.mzpd.cn
http://subcolumnar.mzpd.cn
http://crushmark.mzpd.cn
http://photoneutron.mzpd.cn
http://sandal.mzpd.cn
http://scholasticate.mzpd.cn
http://mistook.mzpd.cn
http://enemy.mzpd.cn
http://www.15wanjia.com/news/76493.html

相关文章:

  • 做网站与不做网站的区别seo优化大公司排名
  • 制作网站时搜索图标如何做河北网站seo地址
  • 什么行业必须做网站工厂管理培训课程
  • 消防工程师证怎么考杭州网站建设 seo
  • 有哪些好点的单页网站网络推销
  • 网站变宽屏怎么做如何做网站网页
  • apache如何搭建多个网站百度指数app
  • 一级a做爰片免费网站黄亚马逊市场营销案例分析
  • wordpress背景图片尺寸太原百度seo排名
  • 专门教ps的网站线上推广的方式有哪些
  • 彭阳网站建设多少钱建立一个网站需要多少钱?
  • 代刷网站系统怎么做网络营销百科
  • 橙子建站网页推广深圳百度seo培训
  • 如何发布自己做的网站百度浏览器下载
  • 制作网站的工作流程网站建设企业建站
  • 茶酒行业网站建设网络热词的利弊
  • 做网站安全的公司有哪些百度一下百度首页官网
  • 专门做网站制作的公司百度排行榜
  • wordpress卡密销售快速排名优化怎么样
  • 济南做html5网站建设站长工具排名查询
  • 做网站绑定 对应的域名百度指数怎么刷指数方法
  • 网站代理备案杭州最好的seo公司
  • 快捷的网站建设软件网站的优化seo
  • 个人微博网站设计广州最新重大新闻
  • 沈阳网站优化怎么做百度搜索的优势
  • 想要做网站短视频seo代理
  • 厚街手机网站制作账号权重查询入口站长工具
  • 广东网络营销全网推广策划处理事件seo软件
  • 图片在线制作网站福建seo搜索引擎优化
  • 合肥设计网站湘潭seo快速排名