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 接口文件
- namespace cpp zam.thrift.test
- namespace py thriftTest
- namespace java com.zam.thrift.test
- namespace php thriftTest
- service Hello {
- string helloString(1:string word)
- }
4)编写接口实现代码
- package com.zam.server;
- import org.apache.thrift.TException;
- import com.zam.thrift.test.Hello.Iface;
- public class HelloImpl implements Iface{
- private static int count = 0;
- @Override
- public String helloString(String word) throws TException {
- // TODO Auto-generated method stub
- count += 1;
- System.out.println("get " + word + " " +count); return "hello " + word + " " + count;
- }
- }
5)编写server代码
- package com.zam.server;
- import org.apache.thrift.protocol.TBinaryProtocol;
- import org.apache.thrift.protocol.TBinaryProtocol.Factory;
- import org.apache.thrift.server.TServer;
- import org.apache.thrift.server.TThreadPoolServer;
- import org.apache.thrift.server.TThreadPoolServer.Args;
- import org.apache.thrift.transport.TServerSocket;
- import org.apache.thrift.transport.TTransportException;
- import com.zam.thrift.test.Hello;
- import com.zam.thrift.test.Hello.Processor;
- public class Server {
- public void startServer() {
- try {
- System.out.println("thrift server open port 1234");
- TServerSocket serverTransport = new TServerSocket(1234);
- Hello.Processor process = new Processor(new HelloImpl());
- Factory portFactory = new TBinaryProtocol.Factory(true, true);
- Args args = new Args(serverTransport);
- args.processor(process);
- args.protocolFactory(portFactory);
- TServer server = new TThreadPoolServer(args);
- server.serve();
- }
- catch (TTransportException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- System.out.println("thrift server init");
- Server server = new Server();
- System.out.println("thrift server start");
- server.startServer();
- System.out.println("thrift server end");
- }
- }
6)编写client 代码
- package com.zam.server;
- import org.apache.thrift.TException;
- import org.apache.thrift.protocol.TBinaryProtocol;
- import org.apache.thrift.protocol.TProtocol;
- import org.apache.thrift.transport.TSocket;
- import org.apache.thrift.transport.TTransport;
- import org.apache.thrift.transport.TTransportException;
- import com.zam.thrift.test.Hello;
- public class Client {
- public void startClient() {
- TTransport transport;
- try {
- System.out.println("thrift client connext server at 1234 port ");
- transport = new TSocket("localhost", 1234);
- TProtocol protocol = new TBinaryProtocol(transport);
- Hello.Client client = new Hello.Client(protocol);
- transport.open();
- System.out.println(client.helloString("panguso"));
- transport.close();
- System.out.println("thrift client close connextion");
- } catch (TTransportException e) {
- e.printStackTrace();
- } catch (TException e) {
- e.printStackTrace();
- }
- }
- public static void main(String[] args) {
- System.out.println("thrift client init ");
- Client client = new Client();
- System.out.println("thrift client start ");
- client.startClient();
- System.out.println("thrift client end ");
- }
- }
8)运行server和client代码
8.1)启动server端
- thrift server init
- thrift server start
- thrift server open port 1234
8.2)启动client端
- thrift client init
- thrift client start
- thrift client connext server at 1234 port
- hello panguso 1
- thrift client close connextion
- thrift client end
相关推荐
在Windows环境下,使用QT结合Thrift进行开发是一项常见的任务,特别是在构建跨平台的服务或应用时。这个样例项目提供了一种方法,使开发者能够在QT环境中有效地利用Thrift框架。让我们详细了解一下这些技术以及如何...
在本文中,我们将详细介绍如何搭建Thrift开发环境,并提供可执行程序和搭建说明文本。 1. **下载与安装** 首先,你需要从Thrift官方网站或Apache镜像站点下载适合你操作系统的最新版本的Thrift源代码包。解压后,...
这个资源包对于那些想要在Windows环境下使用Thrift进行跨语言服务开发的开发者来说,是非常有价值的。有了预编译的库文件和源码,你可以快速地开始构建自己的Thrift服务,而无需从零开始编译整个框架。同时,源码的...
【描述】: "本文档详述了如何在Linux和Windows环境下配置Thrift环境并使用HBase的C++客户端。" 【标签】: "hadoop hbase thrift boost" 在IT领域,特别是大数据处理中,HBase作为一个分布式NoSQL数据库,常用于...
1. **安装和配置Thrift**:下载Thrift源码包,然后在本地环境中配置编译环境,如设置路径,安装依赖等。 2. **定义服务接口**:使用Thrift IDL(接口定义语言)编写服务接口描述文件,定义数据结构和服务方法。 3. *...
6. 接下来,执行`configure --msvc`命令,配置Thrift为使用Visual Studio 2010编译器。 然而,根据描述,编译过程中可能遇到cpp文件未被正确编译的问题,这可能导致服务运行时出现连接错误。为了解决这个问题,我们...
在本文中,我们将深入探讨如何配置Apache Thrift的开发环境,特别是针对CentOS操作系统。 首先,安装Thrift的官方文档提供了详细的指南。然而,对于Windows用户来说,由于需要Cygwin或MinGW,所以通常会选择在Linux...
在实际项目中,不仅需要这个库,可能还需要其他依赖的库,例如处理特定协议或传输层的库,这些通常会在Thrift的Maven或Gradle配置中被指定。 总的来说,获取并使用官方最新的Thrift exe和依赖的jar包,可以帮助...
然而,给定的压缩包文件名"ApacheThrift环境配置共2页.pdf.zip"暗示着里面可能是一个PDF文档,详细介绍了如何配置Apache Thrift的环境,但压缩包中却有一个名为"赚钱项目"的文件,这与Apache Thrift的配置无关。...
C#是微软开发的一种面向对象的编程语言,广泛应用于Windows平台的开发。在这个项目中,C#作为客户端编程语言,负责与HBase服务器通信。.NET框架为C#提供了丰富的类库和开发工具,使得构建这样的数据访问应用变得...
在Windows环境下,你需要配置Java环境,并安装Thrift工具。通过命令行运行Thrift编译器,将`.thrift`文件转换为Java源码: ```bash thrift -gen java your_service.thrift ``` 这会在当前目录生成一个gen-java目录...
接下来,需要配置环境变量,将thrift.exe的地址添加到Path中,例如F:\thrift。最后,在命令行输入thrift -version,如果输出thrift的版本号,即表明安装成功。 二、编写IDL文件 编写IDL文件是使用Thrift的第一步。...
5. `jaeger-all-in-one.exe`: 一个组合工具,包含了所有组件,适用于开发和测试环境。 部署流程大致如下: 1. 启动Jaeger Collector:运行`jaeger-collector.exe`,配置相应的端口和存储选项。 2. 启动Jaeger ...
在本文中,我们将详细讨论如何在Python3.4环境下,Windows 7 64位操作系统上安装`impyla`库,这个库主要用于与Hadoop的Impala接口进行交互。根据官方文档(https://github.com/cloudera/impyla),以下是安装的步骤...
5. **Thrift.dll**:Thrift是一个跨语言的服务开发工具,允许创建高效的、可扩展的网络服务。在这个支付网关中,Thrift可能用于跨系统通信,比如在不同的服务器或客户端之间传递支付请求和响应。 6. **LibPayment....
它提供了高性能、模块化、轻量级的特性,使得开发者可以在Windows、Linux和macOS等操作系统上进行开发。资料中提及的“仅供学习参考,勿商用”,意味着这些源码主要用于教育目的,不应用于商业项目。 【标签】...
而C#是一种流行的面向对象编程语言,由微软开发,常用于构建Windows平台上的应用程序。当我们谈论"Cassandra-C#应用"时,这意味着我们要在C#环境中与Cassandra数据库进行交互。 Cassandra的主要特性包括: 1. **...
31. **Thrift**:Thrift是Facebook开发的一种跨语言的服务开发框架,用于构建可扩展的、高性能的服务。 32. **Memcached**:Memcached是一个分布式内存对象缓存系统,用于减少数据库负载,提高Web应用性能。 33. *...
StormFN可能是一个自定义的Storm环境或者扩展,提供了特定的功能和优化,使得开发者可以更专注于业务逻辑,而非底层系统操作。StormFN-Launcher的主要功能包括配置管理、拓扑提交、日志监控等,这些功能对于确保...