Search in sources :

Example 11 with TThreadedSelectorServer

use of org.apache.thrift.server.TThreadedSelectorServer in project summer by foxsugar.

the class AdminRpcServer method StartServer.

public static TServer StartServer(int port, AdminRPC.AsyncIface iface) throws TTransportException {
    TProcessor tprocessor = new AdminRPC.AsyncProcessor<>(iface);
    TNonblockingServerSocket serverTransport = null;
    serverTransport = new TNonblockingServerSocket(port);
    TThreadedSelectorServer.Args tArgs = new TThreadedSelectorServer.Args(serverTransport);
    tArgs.processor(tprocessor);
    tArgs.maxReadBufferBytes = 1024 * 1024L;
    tArgs.transportFactory(new TFramedTransport.Factory());
    tArgs.protocolFactory(new TBinaryProtocol.Factory());
    TServer server = new TThreadedSelectorServer(tArgs);
    server.serve();
    return server;
}
Also used : TProcessor(org.apache.thrift.TProcessor) TBinaryProtocol(org.apache.thrift.protocol.TBinaryProtocol) TServer(org.apache.thrift.server.TServer) TFramedTransport(org.apache.thrift.transport.TFramedTransport) TNonblockingServerSocket(org.apache.thrift.transport.TNonblockingServerSocket) TThreadedSelectorServer(org.apache.thrift.server.TThreadedSelectorServer)

Example 12 with TThreadedSelectorServer

use of org.apache.thrift.server.TThreadedSelectorServer in project tech by ffyyhh995511.

the class Test2 method main.

public static void main(String[] args) {
    try {
        // 传输通道 - 非阻塞方式
        TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(7911);
        // 异步IO,需要使用TFramedTransport,它将分块缓存读取。
        TTransportFactory transportFactory = new TFramedTransport.Factory();
        // 使用高密度二进制协议
        TProtocolFactory proFactory = new TCompactProtocol.Factory();
        // 设置处理器 HelloImpl
        TProcessor processor = new Hello.Processor(new HelloImpl());
        // 创建服务器
        Args tArgs = new Args(serverTransport);
        tArgs.transportFactory(transportFactory);
        tArgs.protocolFactory(proFactory);
        tArgs.processor(processor);
        TServer server = new TThreadedSelectorServer(tArgs);
        System.out.println("Start server on port 7911...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : TProtocolFactory(org.apache.thrift.protocol.TProtocolFactory) TNonblockingServerTransport(org.apache.thrift.transport.TNonblockingServerTransport) Args(org.apache.thrift.server.TThreadedSelectorServer.Args) TProcessor(org.apache.thrift.TProcessor) HelloImpl(org.tech.model.impl.HelloImpl) TProcessor(org.apache.thrift.TProcessor) TServer(org.apache.thrift.server.TServer) TNonblockingServerSocket(org.apache.thrift.transport.TNonblockingServerSocket) TThreadedSelectorServer(org.apache.thrift.server.TThreadedSelectorServer) TTransportFactory(org.apache.thrift.transport.TTransportFactory) TProtocolFactory(org.apache.thrift.protocol.TProtocolFactory) TTransportFactory(org.apache.thrift.transport.TTransportFactory)

Example 13 with TThreadedSelectorServer

use of org.apache.thrift.server.TThreadedSelectorServer in project tech by ffyyhh995511.

the class ThriftDemo method nioServer.

/**
 * 基于非阻塞IO(NIO)的服务端
 */
public void nioServer() {
    try {
        // 传输通道 - 非阻塞方式
        TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(7911);
        // 异步IO,需要使用TFramedTransport,它将分块缓存读取。
        TTransportFactory transportFactory = new TFramedTransport.Factory();
        // 使用高密度二进制协议
        TProtocolFactory proFactory = new TCompactProtocol.Factory();
        // 设置处理器 HelloImpl
        TProcessor processor = new Hello.Processor(new HelloImpl());
        // 创建服务器
        Args tArgs = new Args(serverTransport);
        tArgs.transportFactory(transportFactory);
        tArgs.protocolFactory(proFactory);
        tArgs.processor(processor);
        TServer server = new TThreadedSelectorServer(tArgs);
        System.out.println("Start server on port 7911...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
    }
}
Also used : TProtocolFactory(org.apache.thrift.protocol.TProtocolFactory) TNonblockingServerTransport(org.apache.thrift.transport.TNonblockingServerTransport) Args(org.apache.thrift.server.TThreadedSelectorServer.Args) TProcessor(org.apache.thrift.TProcessor) HelloImpl(org.tech.model.impl.HelloImpl) TProcessor(org.apache.thrift.TProcessor) TServer(org.apache.thrift.server.TServer) TNonblockingServerSocket(org.apache.thrift.transport.TNonblockingServerSocket) TThreadedSelectorServer(org.apache.thrift.server.TThreadedSelectorServer) TProtocolFactory(org.apache.thrift.protocol.TProtocolFactory) TTransportFactory(org.apache.thrift.transport.TTransportFactory) TTransportFactory(org.apache.thrift.transport.TTransportFactory)

Aggregations

TThreadedSelectorServer (org.apache.thrift.server.TThreadedSelectorServer)13 TNonblockingServerSocket (org.apache.thrift.transport.TNonblockingServerSocket)12 TProcessor (org.apache.thrift.TProcessor)10 TFramedTransport (org.apache.thrift.transport.TFramedTransport)8 TNonblockingServerTransport (org.apache.thrift.transport.TNonblockingServerTransport)7 TServer (org.apache.thrift.server.TServer)6 ExecutorService (java.util.concurrent.ExecutorService)4 TBinaryProtocol (org.apache.thrift.protocol.TBinaryProtocol)4 TCompactProtocol (org.apache.thrift.protocol.TCompactProtocol)3 TProtocolFactory (org.apache.thrift.protocol.TProtocolFactory)3 TTransportException (org.apache.thrift.transport.TTransportException)3 TTransportFactory (org.apache.thrift.transport.TTransportFactory)3 HelloImpl (org.tech.model.impl.HelloImpl)3 InetSocketAddress (java.net.InetSocketAddress)2 Args (org.apache.thrift.server.TThreadedSelectorServer.Args)2 ThriftException (com.facebook.buck.slb.ThriftException)1 Constructor (java.lang.reflect.Constructor)1 InetAddress (java.net.InetAddress)1 HashMap (java.util.HashMap)1 Map (java.util.Map)1