`

WINDOWS配置THRIFT开发环境

阅读更多

1)安装thrift:到thrift官网下载exe文件,然后将文件重命名为thrift.exe,拷贝到c:\windows目录下(或者任何目录下),然后就可以在dos环境下使用了

c:\windows>thrift -gen java D:\mywork\javaProject\thriftTest\test.thrift ,输出的java文件默认输出到当前目录下c:\windows,也可以使用-o参数指定输出路径

  2)下载相关依赖包

  2.1)libthrift.jar ,下载地址:http://repo1.maven.org/maven2/org/apache/thrift/libthrift/0.9.0/

  2.2)slf4j-api.jar

  2.3)slf4j-simple.jar

  3)编写thrift 接口文件

  1. namespace cpp zam.thrift.test  
  2. namespace py thriftTest  
  3. namespace java com.zam.thrift.test  
  4. namespace php thriftTest  
  5.   
  6. service Hello {    
  7.     string helloString(1:string word)    
  8. }  

    4)编写接口实现代码

  1. package com.zam.server;  
  2. import org.apache.thrift.TException;  
  3. import com.zam.thrift.test.Hello.Iface;  
  4. public class HelloImpl implements Iface{  
  5.   private static int count = 0;  
  6.   @Override  
  7.   public String helloString(String word) throws TException {  
  8.     // TODO Auto-generated method stub  
  9.     count += 1;  
  10.     System.out.println("get " + word + " " +count);     return "hello " + word + " " + count;  
  11.     }  
  12. }  

    5)编写server代码

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

    6)编写client 代码

  1. package com.zam.server;  
  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. import com.zam.thrift.test.Hello;  
  11. public class Client {  
  12.     public void startClient() {    
  13.         TTransport transport;    
  14.         try {    
  15.             System.out.println("thrift client connext server at 1234 port ");  
  16.             transport = new TSocket("localhost", 1234);    
  17.             TProtocol protocol = new TBinaryProtocol(transport);    
  18.             Hello.Client client = new Hello.Client(protocol);    
  19.             transport.open();    
  20.             System.out.println(client.helloString("panguso"));    
  21.             transport.close();    
  22.             System.out.println("thrift client close connextion");  
  23.         } catch (TTransportException e) {    
  24.             e.printStackTrace();    
  25.         } catch (TException e) {    
  26.             e.printStackTrace();    
  27.         }    
  28.     }    
  29.     
  30.     public static void main(String[] args) {    
  31.         System.out.println("thrift client init ");  
  32.         Client client = new Client();    
  33.         System.out.println("thrift client start ");  
  34.         client.startClient();    
  35.         System.out.println("thrift client end ");  
  36.     }    
  37. }  

 8)运行server和client代码

      8.1)启动server端

  1. thrift server init  
  2. thrift server start  
  3. thrift server open port 1234  

      8.2)启动client端

  1. thrift client init   
  2. thrift client start   
  3. thrift client connext server at 1234 port   
  4. hello panguso 1  
  5. thrift client close connextion  
  6. thrift client end 
分享到:
评论

相关推荐

    Windows下QT使用Thrift的样例

    在Windows环境下,使用QT结合Thrift进行开发是一项常见的任务,特别是在构建跨平台的服务或应用时。这个样例项目提供了一种方法,使开发者能够在QT环境中有效地利用Thrift框架。让我们详细了解一下这些技术以及如何...

    thrift环境搭建(内附thrift运行环境可执行程序、搭建说明文本)

    在本文中,我们将详细介绍如何搭建Thrift开发环境,并提供可执行程序和搭建说明文本。 1. **下载与安装** 首先,你需要从Thrift官方网站或Apache镜像站点下载适合你操作系统的最新版本的Thrift源代码包。解压后,...

    windows下vs2010编译的thrift,包含lib和cpp源码

    这个资源包对于那些想要在Windows环境下使用Thrift进行跨语言服务开发的开发者来说,是非常有价值的。有了预编译的库文件和源码,你可以快速地开始构建自己的Thrift服务,而无需从零开始编译整个框架。同时,源码的...

    通过thrift使用c++访问hbase

    【描述】: "本文档详述了如何在Linux和Windows环境下配置Thrift环境并使用HBase的C++客户端。" 【标签】: "hadoop hbase thrift boost" 在IT领域,特别是大数据处理中,HBase作为一个分布式NoSQL数据库,常用于...

    win10+VS2010+thrift0.9.3

    1. **安装和配置Thrift**:下载Thrift源码包,然后在本地环境中配置编译环境,如设置路径,安装依赖等。 2. **定义服务接口**:使用Thrift IDL(接口定义语言)编写服务接口描述文件,定义数据结构和服务方法。 3. *...

    win10+VS2010+thrift0.9.3 改进

    6. 接下来,执行`configure --msvc`命令,配置Thrift为使用Visual Studio 2010编译器。 然而,根据描述,编译过程中可能遇到cpp文件未被正确编译的问题,这可能导致服务运行时出现连接错误。为了解决这个问题,我们...

    Apache Thrift环境配置

    在本文中,我们将深入探讨如何配置Apache Thrift的开发环境,特别是针对CentOS操作系统。 首先,安装Thrift的官方文档提供了详细的指南。然而,对于Windows用户来说,由于需要Cygwin或MinGW,所以通常会选择在Linux...

    官方最新的thrift exe和依赖的jar包

    在实际项目中,不仅需要这个库,可能还需要其他依赖的库,例如处理特定协议或传输层的库,这些通常会在Thrift的Maven或Gradle配置中被指定。 总的来说,获取并使用官方最新的Thrift exe和依赖的jar包,可以帮助...

    ApacheThrift环境配置共2页.pdf.zip

    然而,给定的压缩包文件名"ApacheThrift环境配置共2页.pdf.zip"暗示着里面可能是一个PDF文档,详细介绍了如何配置Apache Thrift的环境,但压缩包中却有一个名为"赚钱项目"的文件,这与Apache Thrift的配置无关。...

    阿里云thrift2连接hbasedemo.zip

    C#是微软开发的一种面向对象的编程语言,广泛应用于Windows平台的开发。在这个项目中,C#作为客户端编程语言,负责与HBase服务器通信。.NET框架为C#提供了丰富的类库和开发工具,使得构建这样的数据访问应用变得...

    thriftTest java案例代码

    在Windows环境下,你需要配置Java环境,并安装Thrift工具。通过命令行运行Thrift编译器,将`.thrift`文件转换为Java源码: ```bash thrift -gen java your_service.thrift ``` 这会在当前目录生成一个gen-java目录...

    在Windows系统下安装Thrift的方法与使用讲解

    接下来,需要配置环境变量,将thrift.exe的地址添加到Path中,例如F:\thrift。最后,在命令行输入thrift -version,如果输出thrift的版本号,即表明安装成功。 二、编写IDL文件 编写IDL文件是使用Thrift的第一步。...

    jaeger-1.56.0-windows-amd64.tar.gz

    5. `jaeger-all-in-one.exe`: 一个组合工具,包含了所有组件,适用于开发和测试环境。 部署流程大致如下: 1. 启动Jaeger Collector:运行`jaeger-collector.exe`,配置相应的端口和存储选项。 2. 启动Jaeger ...

    安装步骤1

    在本文中,我们将详细讨论如何在Python3.4环境下,Windows 7 64位操作系统上安装`impyla`库,这个库主要用于与Hadoop的Impala接口进行交互。根据官方文档(https://github.com/cloudera/impyla),以下是安装的步骤...

    ty.rar_V2

    5. **Thrift.dll**:Thrift是一个跨语言的服务开发工具,允许创建高效的、可扩展的网络服务。在这个支付网关中,Thrift可能用于跨系统通信,比如在不同的服务器或客户端之间传递支付请求和响应。 6. **LibPayment....

    如鹏网《Net微服务》课件第二版上课后的源码

    它提供了高性能、模块化、轻量级的特性,使得开发者可以在Windows、Linux和macOS等操作系统上进行开发。资料中提及的“仅供学习参考,勿商用”,意味着这些源码主要用于教育目的,不应用于商业项目。 【标签】...

    cassandra-C#应用

    而C#是一种流行的面向对象编程语言,由微软开发,常用于构建Windows平台上的应用程序。当我们谈论"Cassandra-C#应用"时,这意味着我们要在C#环境中与Cassandra数据库进行交互。 Cassandra的主要特性包括: 1. **...

    IT 单词1

    31. **Thrift**:Thrift是Facebook开发的一种跨语言的服务开发框架,用于构建可扩展的、高性能的服务。 32. **Memcached**:Memcached是一个分布式内存对象缓存系统,用于减少数据库负载,提高Web应用性能。 33. *...

    StormFN-Launcher:用于Storm的启动器

    StormFN可能是一个自定义的Storm环境或者扩展,提供了特定的功能和优化,使得开发者可以更专注于业务逻辑,而非底层系统操作。StormFN-Launcher的主要功能包括配置管理、拓扑提交、日志监控等,这些功能对于确保...

Global site tag (gtag.js) - Google Analytics