thrift

环境准备:

1.下载window版本的thrift编译器

2.下载idea的thirft插件

3.设置thrift编译工具为:步骤1下载的编译器

4.编写thrift文件

namespace java org.chenhao.test.thrift
    service  Hello{
        void helloVoid()
    }

5.编译改文件,生成Hello.java

6.编写HelloServiceImpl,实现了Iface接口

package org.chenhao.test.thrift;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

public class HelloServiceImpl implements Hello.Iface {
    private static final Logger logger= LoggerFactory.getLogger(HelloServiceImpl.class);
    @Override
    public void helloVoid(){
        logger.info("hello world");
    }
}

7.编写HelloServer.java

package org.chenhao.test.thrift;

import org.apache.thrift.TProcessor;
import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.server.TServer;
import org.apache.thrift.server.TThreadPoolServer;
import org.apache.thrift.transport.TServerSocket;

public class HelloServer {
    public static void main(String[] args) {
        try {
            TServerSocket tansport = new TServerSocket(7091);
            TProcessor processor = new Hello.Processor(new HelloServiceImpl());
            TBinaryProtocol.Factory factory = new TBinaryProtocol.Factory();
            TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(tansport).processor(processor).protocolFactory(factory));
            server.serve();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

8.编写HelloClient.java

package org.chenhao.test.thrift;

import org.apache.thrift.protocol.TBinaryProtocol;
import org.apache.thrift.protocol.TProtocol;
import org.apache.thrift.transport.TSocket;
import org.apache.thrift.transport.TTransport;

public class HelloClient {
    public static void main(String[] args) {
        try {
            TTransport transport = new TSocket("localhost", 7091);
            transport.open();
            TProtocol protocol = new TBinaryProtocol(transport);
            Hello.Client client = new Hello.Client(protocol);
            client.helloVoid();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

9.运行HelloServer.java

10.运行HelloClient.java,可以观察到命令行打印如下信息:

 

转载于:https://www.cnblogs.com/swaggyC/p/6039908.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值