Example usage for org.apache.thrift.transport TNonblockingServerSocket TNonblockingServerSocket

List of usage examples for org.apache.thrift.transport TNonblockingServerSocket TNonblockingServerSocket

Introduction

In this page you can find the example usage for org.apache.thrift.transport TNonblockingServerSocket TNonblockingServerSocket.

Prototype

public TNonblockingServerSocket(NonblockingAbstractServerSocketArgs args) throws TTransportException 

Source Link

Usage

From source file:JavaHsHaServer.java

License:Apache License

public static void main(String[] args) {
    try {//  www . j a  v  a 2  s . c  o m
        handler = new MyserviceHandler();
        processor = new Myservice.Processor(handler);

        TNonblockingServerSocket socket = new TNonblockingServerSocket(1357);
        THsHaServer.Args arg = new THsHaServer.Args(socket);
        arg.protocolFactory(new TBinaryProtocol.Factory());
        arg.transportFactory(new TFramedTransport.Factory());
        arg.processorFactory(new TProcessorFactory(processor));
        arg.workerThreads(5);

        TServer server = new THsHaServer(arg);
        server.serve();
        System.out.println("HsHa server started.");
    } catch (TTransportException e) {
        e.printStackTrace();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:StubServer.java

License:Apache License

public static void main(String argv[]) {
    try {//ww w  .ja v a 2s . com
        int port = 9090;
        int numThreads = 32;
        if (argv.length != 1) {
            usage();
        }
        System.out.println(argv[0]);
        StubServer mapkeeper = new StubServer();
        TServer server = null;
        if (argv[0].equals("hsha")) {
            TNonblockingServerTransport trans = new TNonblockingServerSocket(port);
            THsHaServer.Args args = new THsHaServer.Args(trans);
            args.transportFactory(new TFramedTransport.Factory());
            args.protocolFactory(new TBinaryProtocol.Factory());
            args.processor(new MapKeeper.Processor(mapkeeper));
            args.workerThreads(numThreads);
            server = new THsHaServer(args);
        } else if (argv[0].equals("nonblocking")) {
            TNonblockingServerTransport trans = new TNonblockingServerSocket(port);
            TNonblockingServer.Args args = new TNonblockingServer.Args(trans);
            args.transportFactory(new TFramedTransport.Factory());
            args.protocolFactory(new TBinaryProtocol.Factory());
            args.processor(new MapKeeper.Processor(mapkeeper));
            server = new TNonblockingServer(args);
        } else if (argv[0].equals("threadpool")) {
            TServerTransport trans = new TServerSocket(port);
            TThreadPoolServer.Args args = new TThreadPoolServer.Args(trans);
            args.transportFactory(new TFramedTransport.Factory());
            args.protocolFactory(new TBinaryProtocol.Factory());
            args.processor(new MapKeeper.Processor(mapkeeper));
            server = new TThreadPoolServer(args);
        } else if (argv[0].equals("selector")) {
            TNonblockingServerTransport trans = new TNonblockingServerSocket(port);
            TThreadedSelectorServer.Args args = new TThreadedSelectorServer.Args(trans);
            args.transportFactory(new TFramedTransport.Factory());
            args.protocolFactory(new TBinaryProtocol.Factory());
            args.processor(new MapKeeper.Processor(mapkeeper));
            args.selectorThreads(4);
            args.workerThreads(numThreads);
            server = new TThreadedSelectorServer(args);
        } else {
            usage();
        }
        server.serve();
    } catch (Exception x) {
        System.out.println(x.toString() + " " + x.getMessage());
    }
}

From source file:BdbJavaServer.java

License:Apache License

public static void main(String argv[]) {
    Logger logger = LoggerFactory.getLogger(BdbJavaServer.class);
    try {/*  w  ww .ja v a2s. c o  m*/
        // load config file
        logger.info("Getting ready...");
        Properties prop = new Properties();
        if (argv.length > 0) {
            prop.load(new FileInputStream(argv[0]));
        }
        int port = Integer.parseInt(prop.getProperty("port", "9090"));
        int numThreads = Integer.parseInt(prop.getProperty("num_threads", "32"));

        BdbJavaServer pstore = new BdbJavaServer(prop);
        TNonblockingServerTransport trans = new TNonblockingServerSocket(port);
        THsHaServer.Args args = new THsHaServer.Args(trans);
        args.transportFactory(new TFramedTransport.Factory());
        args.processor(new MapKeeper.Processor(pstore));
        args.workerThreads(numThreads);
        TServer server = new THsHaServer(args);
        logger.info("Starting server...");
        server.serve();
    } catch (Exception x) {
        x.printStackTrace();
        logger.error(x.toString() + " " + x.getMessage());
    }
}

From source file:backtype.storm.security.auth.SimpleTransportPlugin.java

License:Apache License

@Override
public TServer getServer(TProcessor processor) throws IOException, TTransportException {
    int port = type.getPort(storm_conf);
    TNonblockingServerSocket serverTransport = new TNonblockingServerSocket(port);
    int numWorkerThreads = type.getNumThreads(storm_conf);
    int maxBufferSize = type.getMaxBufferSize(storm_conf);
    Integer queueSize = type.getQueueSize(storm_conf);

    THsHaServer.Args server_args = new THsHaServer.Args(serverTransport)
            .processor(new SimpleWrapProcessor(processor)).workerThreads(numWorkerThreads)
            .protocolFactory(new TBinaryProtocol.Factory(false, true, maxBufferSize));

    if (queueSize != null) {
        server_args.executorService(new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, 60,
                TimeUnit.SECONDS, new ArrayBlockingQueue(queueSize)));
    }/*w  w w .  j a  v  a  2  s. c o m*/

    //construct THsHaServer
    return new THsHaServer(server_args);
}

From source file:ch.epfl.eagle.daemon.util.TServers.java

License:Apache License

/**
 * Launch a single threaded nonblocking IO server. All requests to this server will be
 * handled in a single thread, so its requests should not contain blocking functions.
 *//*from   ww  w .j a va  2s.  c o m*/
public static void launchSingleThreadThriftServer(int port, TProcessor processor) throws IOException {
    LOG.info("Staring async thrift server of type: " + processor.getClass().toString() + " on port " + port);
    TNonblockingServerTransport serverTransport;
    try {
        serverTransport = new TNonblockingServerSocket(port);
    } catch (TTransportException e) {
        throw new IOException(e);
    }
    TNonblockingServer.Args serverArgs = new TNonblockingServer.Args(serverTransport);
    serverArgs.processor(processor);
    TServer server = new TNonblockingServer(serverArgs);
    new Thread(new TServerRunnable(server)).start();
}

From source file:ch.epfl.eagle.daemon.util.TServers.java

License:Apache License

/**
 * Launch a multi-threaded Thrift server with the given {@code processor}. Note that
 * internally this creates an expanding thread pool of at most {@code threads} threads,
 * and requests are queued whenever that thread pool is saturated.
 *//*w w  w . j a  v  a2  s . com*/
public static void launchThreadedThriftServer(int port, int threads, TProcessor processor) throws IOException {
    LOG.info("Staring async thrift server of type: " + processor.getClass().toString() + " on port " + port);
    TNonblockingServerTransport serverTransport;
    try {
        serverTransport = new TNonblockingServerSocket(port);
    } catch (TTransportException e) {
        throw new IOException(e);
    }
    TThreadedSelectorServer.Args serverArgs = new TThreadedSelectorServer.Args(serverTransport);
    serverArgs.transportFactory(new TFramedTransport.Factory());
    serverArgs.protocolFactory(new TBinaryProtocol.Factory());
    serverArgs.processor(processor);
    serverArgs.selectorThreads(SELECTOR_THREADS);
    serverArgs.workerThreads(threads);
    TServer server = new TThreadedSelectorServer(serverArgs);
    new Thread(new TServerRunnable(server)).start();
}

From source file:ch.usi.da.paxos.thrift.ThriftLearner.java

License:Open Source License

@Override
public void run() {
    try {//w w  w  .ja v  a2  s  .  c  o  m
        TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(port);
        PaxosLearnerService.Processor<Iface> processor = new Processor<Iface>(
                new PaxosLearnerServiceImpl(this.learner));
        TServer server = new TNonblockingServer(
                new TNonblockingServer.Args(serverTransport).processor(processor));
        logger.info("Starting thrift learner server on port " + port);
        server.serve();
    } catch (TTransportException e) {
        logger.error(e);
    }
}

From source file:ch.usi.da.paxos.thrift.ThriftProposer.java

License:Open Source License

@Override
public void run() {
    try {//from   ww w  .  j a v  a 2s . co  m
        TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(port);
        PaxosProposerService.Processor<Iface> processor = new Processor<Iface>(
                new PaxosProposerServiceImpl(proposer));
        TServer server = new TNonblockingServer(
                new TNonblockingServer.Args(serverTransport).processor(processor));
        logger.info("Starting thrift proposer server on port " + port);
        server.serve();
    } catch (TTransportException e) {
        logger.error(e);
    }
}

From source file:co.cask.tephra.rpc.ThriftRPCServer.java

License:Apache License

@Override
protected void startUp() throws Exception {
    // Determines the address and port to listen on
    InetSocketAddress listenOn = bindAddress;
    if (listenOn == null || listenOn.getPort() <= 0) {
        int port = Networks.getRandomPort();
        if (listenOn == null) {
            listenOn = new InetSocketAddress("localhost", port);
        } else {// w w  w  .  j a  v a  2s  .  c o m
            listenOn = new InetSocketAddress(listenOn.getAddress(), port);
        }
    }
    bindAddress = listenOn;

    executor = new ThreadPoolExecutor(0, workerThreads, 60L, TimeUnit.SECONDS, new SynchronousQueue<Runnable>(),
            Threads.createDaemonThreadFactory(String.format("%s-rpc-%%d", name)),
            new ThreadPoolExecutor.CallerRunsPolicy());
    serviceHandler.init();

    TThreadedSelectorServerWithFix.Args args = new TThreadedSelectorServerWithFix.Args(
            new TNonblockingServerSocket(listenOn)).selectorThreads(ioThreads)
                    .protocolFactory(new TBinaryProtocol.Factory())
                    .transportFactory(new TFramedTransport.Factory()).processor(processor)
                    .executorService(executor);

    // ENG-443 - Set the max read buffer size. This is important as this will
    // prevent the server from throwing OOME if telnetd to the port
    // it's running on.
    args.maxReadBufferBytes = maxReadBufferBytes;
    server = new TThreadedSelectorServerWithFix(args);
    LOG.info("Starting RPC server for {}", name);
}

From source file:com.alibaba.jstorm.daemon.nimbus.NimbusServer.java

License:Apache License

@SuppressWarnings("rawtypes")
private void initThrift(Map conf) throws TTransportException {
    Integer thrift_port = JStormUtils.parseInt(conf.get(Config.NIMBUS_THRIFT_PORT));
    TNonblockingServerSocket socket = new TNonblockingServerSocket(thrift_port);

    Integer maxReadBufSize = JStormUtils.parseInt(conf.get(Config.NIMBUS_THRIFT_MAX_BUFFER_SIZE));

    THsHaServer.Args args = new THsHaServer.Args(socket);
    args.workerThreads(ServiceHandler.THREAD_NUM);
    args.protocolFactory(new TBinaryProtocol.Factory(false, true, maxReadBufSize, -1));

    args.processor(new Nimbus.Processor<Iface>(serviceHandler));
    args.maxReadBufferBytes = maxReadBufSize;

    thriftServer = new THsHaServer(args);

    LOG.info("Successfully started nimbus: started Thrift server...");
    thriftServer.serve();/*from  w  ww. j  a  v  a2  s  .c om*/
}