thrift java windows_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 接口文件

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

下载地址:http://download.csdn.net/download/liyonghui123/5742211

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值