亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Thrift java服務器與客戶端示例

系統 2372 0

Thrift java服務器與客戶端示例 - john c - 博客園

Thrift java服務器與客戶端示例

Posted on 2011-06-19 03:04 john c 閱讀(3540) 評論( 0 ) 編輯 收藏

簡單的實現一個PING的功能

1.安裝thrift

http://thrift.apache.org/download/

人人網鏡像下載:

http://labs.renren.com/apache-mirror/thrift/0.6.1/thrift-0.6.1.exe

2.編寫Thrift文件 (定義接口,結構,異常等),保存為test.thrift

namespace java net.johnc.thrift
service Test{
?
? void ping( 1 : i32 length)
?
}

?

3.生成接口代碼

把thrift-0.6.1.exe和test.thrift文件放在同一個目錄,當然也可以把thrift-0.6.1.exe文件放進環境變量

進入DOS命令執行:thrift-0.6.1.exe? - - gen? java ?test . thrift

生成文件 gen-java/net/johnc/thrift/Test.java

4.編寫服務端接口實現類

在POM.xml文件加入以下依賴:

<dependency>
?????? <groupId>org.apache.thrift</groupId>
?????? <artifactId>libthrift</artifactId>
?????? <version> 0.6 . 1 </version>
?? </dependency>

?

? 把生成的Test.java復制到項目下

            
1 package net.johnc.thrift; 2 3 ? import org.apache.thrift.TException; 4 5 ? public class TestImpl implements Test.Iface { 6 7 public void ping( int length) throws TException { 8 System.out.println( " calling ping ,length= " + length); 9 } 10 11 }

5.編寫啟動服務代碼

            
1 package net.johnc.thrift; 2 3 ? import net.johnc.thrift.Test.Processor; 4 5 ? import org.apache.thrift.protocol.TBinaryProtocol; 6 ? import org.apache.thrift.protocol.TBinaryProtocol.Factory; 7 ? import org.apache.thrift.server.TServer; 8 ? import org.apache.thrift.server.TThreadPoolServer; 9 ? import org.apache.thrift.server.TThreadPoolServer.Args; 10 ? import org.apache.thrift.transport.TServerSocket; 11 ? import org.apache.thrift.transport.TTransportException; 12 13 ? public class Server { 14 public void startServer() { 15 try { 16 17 TServerSocket serverTransport = new TServerSocket( 1234 ); 18 19 Test.Processor process = new Processor( new TestImpl()); 20 21 Factory portFactory = new TBinaryProtocol.Factory( true , true ); 22 23 Args args = new Args(serverTransport); 24 args.processor(process); 25 args.protocolFactory(portFactory); 26 27 TServer server = new TThreadPoolServer(args); 28 server.serve(); 29 } catch (TTransportException e) { 30 e.printStackTrace(); 31 } 32 } 33 34 public static void main(String[] args) { 35 Server server = new Server(); 36 server.startServer(); 37 } 38 }

?

6.編寫客戶端代碼

            
1 package net.johnc.thrift; 2 3 ? import org.apache.thrift.TException; 4 ? import org.apache.thrift.protocol.TBinaryProtocol; 5 ? import org.apache.thrift.protocol.TProtocol; 6 ? import org.apache.thrift.transport.TSocket; 7 ? import org.apache.thrift.transport.TTransport; 8 ? import org.apache.thrift.transport.TTransportException; 9 10 ? public class Client { 11 12 public void startClient() { 13 TTransport transport; 14 try { 15 transport = new TSocket( " localhost " , 1234 ); 16 TProtocol protocol = new TBinaryProtocol(transport); 17 Test.Client client = new Test.Client(protocol); 18 transport.open(); 19 client.ping( 2012 ); 20 transport.close(); 21 } catch (TTransportException e) { 22 e.printStackTrace(); 23 } catch (TException e) { 24 e.printStackTrace(); 25 } 26 } 27 28 public static void main(String[] args) { 29 Client client = new Client(); 30 client.startClient(); 31 } 32 }

Thrift java服務器與客戶端示例


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久四虎| 久久久精品视频免费观看 | 国产成人a一在线观看 | 深夜天堂 | 久久国产欧美日韩高清专区 | 狠狠亚洲丁香综合久久 | 国产一级αv片免费观看 | 成年网站视频在线观看 | 天天爱天天舔 | 国产三级久久 | 99精品这里只有精品高清视频 | 亚洲干综合| 精品视频一区二区三区 | 男女羞羞免费视频 | 亚洲欧洲一二三区机械有限公司 | 天天做天天爱夜夜爽毛片毛片 | 欧美午夜精品久久久久免费视 | 国产成人香蕉在线视频网站 | 国产精品久热 | 国产特级毛片 | 欧美精品99久久久久久人 | 奇米在线播放 | 波多野结衣久久 | 91在线看片一区国产 | 欧美天堂在线视频 | 亚洲特级毛片 | 草操影院 | 欧美成人高清 | 羞羞在线视频 | 色拍999| 国产99re| 欧美一级a毛片人人dvd | 99在线免费观看 | 激情欧美 | 亚洲综合日韩精品欧美综合区 | 9久re热视频这里只有精品 | 国产福利免费看 | 99精品在线看 | 久久黑丝 | 国产精品成人观看视频国产奇米 | 久久精品亚洲乱码伦伦中文 |