Java 杂谈Java技术升华

Thrift(二):各种 Server 实现

2018-07-09  本文已影响17人  聪明的奇瑞

Thrift 为服务器端提供了多种工作模式:TSimpleServer、TNonblockingServer、THsHaServer、TThreadPoolServer、TThreadedSelectorServer

TSimpleServer

TSimpleServer

TNonblockingServer

TNonblockingServer
public class Server {
    public static void main(String[] args) throws Exception {
        TProcessor processor = new UserService.Processor<UserService.Iface>(new UserServiceImpl());
        TNonblockingServerSocket serverSocket = new TNonblockingServerSocket(8181);
        TBinaryProtocol.Factory protocolFactory = new TBinaryProtocol.Factory();
        TNonblockingServer.Args serverArgs = new TNonblockingServer.Args(serverSocket)
                .processor(processor)
                .protocolFactory(protocolFactory);
        TServer server = new TNonblockingServer(serverArgs);
        System.out.println("开启Thrift服务器,监听端口:8181");
        server.serve();
    }
}

TThreadPoolServer

TThreadPoolServer
public class Server {
    public static void main(String[] args) throws Exception {
        TProcessor processor = new UserService.Processor<UserService.Iface>(new UserServiceImpl());
        TServerSocket serverSocket = new TServerSocket(8181);
        TBinaryProtocol.Factory protocolFactory = new TBinaryProtocol.Factory();
        TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverSocket)
                .processor(processor)
                .protocolFactory(protocolFactory);
        TServer server = new TThreadPoolServer(serverArgs);
        System.out.println("开启Thrift服务器,监听端口:8181");
        server.serve();
    }
}

THsHaServer

THsHaServer
public class Server {
    public static void main(String[] args) throws Exception {
        TProcessor processor = new UserService.Processor<UserService.Iface>(new UserServiceImpl());
        TNonblockingServerSocket serverTransport = new TNonblockingServerSocket(8181);
        TTransportFactory transportFactory = new TFramedTransport.Factory();
        TBinaryProtocol.Factory protocolFactory = new TBinaryProtocol.Factory();
        THsHaServer.Args serverArgs = new THsHaServer.Args(serverTransport)
                .processor(processor)
                .protocolFactory(protocolFactory)
                .transportFactory(transportFactory);
        TServer server = new THsHaServer(serverArgs);
        System.out.println("开启Thrift服务器,监听端口:8181");
        server.serve();
    }
}

TThreadedSelectorServer

TThreadedSelectorServer
public class Server {
    public static void main(String[] args) throws Exception {
        TProcessor processor = new UserService.Processor<UserService.Iface>(new UserServiceImpl());
        TNonblockingServerSocket serverSocket = new TNonblockingServerSocket(8181);
        TBinaryProtocol.Factory protocolFactory = new TBinaryProtocol.Factory();
        TThreadedSelectorServer.Args serverArgs = new TThreadedSelectorServer.Args(serverSocket)
                .processor(processor)
                .protocolFactory(protocolFactory);
        TServer server = new TThreadedSelectorServer(serverArgs);
        System.out.println("开启Thrift服务器,监听端口:8181");
        server.serve();
    }
}
上一篇 下一篇

猜你喜欢

热点阅读