Example usage for org.apache.thrift.server TThreadPoolServer TThreadPoolServer

List of usage examples for org.apache.thrift.server TThreadPoolServer TThreadPoolServer

Introduction

In this page you can find the example usage for org.apache.thrift.server TThreadPoolServer TThreadPoolServer.

Prototype

public TThreadPoolServer(Args args) 

Source Link

Usage

From source file:alluxio.worker.DefaultAlluxioWorker.java

License:Apache License

/**
 * Helper method to create a {@link org.apache.thrift.server.TThreadPoolServer} for handling
 * incoming RPC requests.//  w w w  .  j  a v a  2s  .c  om
 *
 * @return a thrift server
 */
private TThreadPoolServer createThriftServer() {
    int minWorkerThreads = Configuration.getInt(PropertyKey.WORKER_BLOCK_THREADS_MIN);
    int maxWorkerThreads = Configuration.getInt(PropertyKey.WORKER_BLOCK_THREADS_MAX);
    TMultiplexedProcessor processor = new TMultiplexedProcessor();

    registerServices(processor, mBlockWorker.getServices());
    registerServices(processor, mFileSystemWorker.getServices());
    // register additional workers for RPC service
    for (Worker worker : mAdditionalWorkers) {
        registerServices(processor, worker.getServices());
    }

    // Return a TTransportFactory based on the authentication type
    TTransportFactory tTransportFactory;
    try {
        tTransportFactory = mTransportProvider.getServerTransportFactory();
    } catch (IOException e) {
        throw Throwables.propagate(e);
    }
    TThreadPoolServer.Args args = new TThreadPoolServer.Args(mThriftServerSocket)
            .minWorkerThreads(minWorkerThreads).maxWorkerThreads(maxWorkerThreads).processor(processor)
            .transportFactory(tTransportFactory).protocolFactory(new TBinaryProtocol.Factory(true, true));
    if (Configuration.getBoolean(PropertyKey.TEST_MODE)) {
        args.stopTimeoutVal = 0;
    } else {
        args.stopTimeoutVal = Constants.THRIFT_STOP_TIMEOUT_SECONDS;
    }
    return new TThreadPoolServer(args);
}

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

License:Apache License

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

    TThreadPoolServer.Args server_args = new TThreadPoolServer.Args(serverTransport)
            .processor(new TUGIWrapProcessor(processor)).minWorkerThreads(numWorkerThreads)
            .maxWorkerThreads(numWorkerThreads).protocolFactory(new TBinaryProtocol.Factory(false, true));

    if (serverTransportFactory != null) {
        server_args.transportFactory(serverTransportFactory);
    }/*w  ww .j  a v a  2 s.co m*/

    //if (queueSize != null) {
    //    server_args.executorService(new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, 
    //                           60, TimeUnit.SECONDS, new ArrayBlockingQueue(queueSize)));
    //}

    return new TThreadPoolServer(server_args);
}

From source file:bidiDemo.server.Server.java

public void init() {
    System.out.println("Initializing server...");

    final MessageDistributorAndHandler mdh = new MessageDistributorAndHandler();
    //new Thread(mdh.new Messenger()).start();

    // Using our own TProcessorFactory gives us an opportunity to get
    // access to the transport right after the client connection is
    // accepted.//from  w ww.  j a va2s. co  m
    TProcessorFactory processorFactory = new TProcessorFactory(null) {
        @Override
        public TProcessor getProcessor(TTransport trans) {
            MessageServiceClient msgClient = new MessageServiceClient(trans);
            mdh.addClient(msgClient);
            System.out.println("Client added to list.");
            return new MessageService.Processor(mdh.new MessageServiceHandler(msgClient));
        }
    };

    TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(transport);
    serverArgs.processorFactory(processorFactory);
    TServer server = new TThreadPoolServer(serverArgs);
    System.out.println("Server started.");
    server.serve();
}

From source file:bidiSimpleDemo.server.Server.java

public static void main(String[] args) {
    try {//from ww w.  j  a  v a2  s.  c  o  m
        final MessageDistributor msgDistributor = new MessageDistributor();
        new Thread(msgDistributor).start();

        TProcessorFactory processorFactory = new TProcessorFactory(null) {
            @Override
            public TProcessor getProcessor(TTransport trans) {
                MessageService.Client msgSrvClient = new MessageService.Client(new TBinaryProtocol(trans));
                msgDistributor.addClient(msgSrvClient);
                System.out.println("Client added to list.");
                return new MessageService.Processor(new MessageServiceHandler(msgSrvClient, msgDistributor));
            }
        };

        TServerTransport serverTransport = new TServerSocket(9095);
        TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverTransport);
        serverArgs.processorFactory(processorFactory);
        TServer server = new TThreadPoolServer(serverArgs);
        System.out.println("Java server started.");
        server.serve();
    } catch (Exception ex) {
        ex.printStackTrace();
    }
}

From source file:cc.twittertools.search.api.TrecSearchThriftServer.java

License:Apache License

@SuppressWarnings("static-access")
public static void main(String[] args) throws Exception {
    Options options = new Options();

    options.addOption(new Option(HELP_OPTION, "show help"));
    options.addOption(OptionBuilder.withArgName("port").hasArg().withDescription("port").create(PORT_OPTION));
    options.addOption(// w ww.  ja va2  s  . c  o  m
            OptionBuilder.withArgName("index").hasArg().withDescription("index location").create(INDEX_OPTION));
    options.addOption(OptionBuilder.withArgName("num").hasArg()
            .withDescription("max number of threads in thread pool").create(MAX_THREADS_OPTION));
    options.addOption(OptionBuilder.withArgName("file").hasArg()
            .withDescription("file containing access tokens").create(CREDENTIALS_OPTION));

    CommandLine cmdline = null;
    CommandLineParser parser = new GnuParser();
    try {
        cmdline = parser.parse(options, args);
    } catch (ParseException exp) {
        System.err.println("Error parsing command line: " + exp.getMessage());
        System.exit(-1);
    }

    if (cmdline.hasOption(HELP_OPTION) || !cmdline.hasOption(INDEX_OPTION)) {
        HelpFormatter formatter = new HelpFormatter();
        formatter.printHelp(TrecSearchThriftServer.class.getName(), options);
        System.exit(-1);
    }

    int port = cmdline.hasOption(PORT_OPTION) ? Integer.parseInt(cmdline.getOptionValue(PORT_OPTION))
            : DEFAULT_PORT;
    int maxThreads = cmdline.hasOption(MAX_THREADS_OPTION)
            ? Integer.parseInt(cmdline.getOptionValue(MAX_THREADS_OPTION))
            : DEFAULT_MAX_THREADS;
    File index = new File(cmdline.getOptionValue(INDEX_OPTION));

    Map<String, String> credentials = null;
    if (cmdline.hasOption(CREDENTIALS_OPTION)) {
        credentials = Maps.newHashMap();
        File cfile = new File(cmdline.getOptionValue(CREDENTIALS_OPTION));
        if (!cfile.exists()) {
            System.err.println("Error: " + cfile + " does not exist!");
            System.exit(-1);
        }
        for (String s : Files.readLines(cfile, Charsets.UTF_8)) {
            try {
                String[] arr = s.split(":");
                credentials.put(arr[0], arr[1]);
            } catch (Exception e) {
                // Catch any exceptions from parsing file contain access tokens
                System.err.println("Error reading access tokens from " + cfile + "!");
                System.exit(-1);
            }
        }
    }

    if (!index.exists()) {
        System.err.println("Error: " + index + " does not exist!");
        System.exit(-1);
    }

    TServerSocket serverSocket = new TServerSocket(port);
    TrecSearch.Processor<TrecSearch.Iface> searchProcessor = new TrecSearch.Processor<TrecSearch.Iface>(
            new TrecSearchHandler(index, credentials));

    TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverSocket);
    serverArgs.maxWorkerThreads(maxThreads);
    TServer thriftServer = new TThreadPoolServer(
            serverArgs.processor(searchProcessor).protocolFactory(new TBinaryProtocol.Factory()));

    thriftServer.serve();
}

From source file:chat.ChatServer.java

public static void simple(ChatService.Processor processor) {
    try {//w  w w. ja v  a2s.  c  o m
        TServerTransport serverTransport = new TServerSocket(9090);
        TServer server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(processor));
        System.out.println("Starting the server...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:cloud.thrift.server.conf.ThriftConfig.java

License:Open Source License

@Bean
public TServer tServer() {
    //??/*www .ja  v a  2  s .c o m*/
    UserService.Processor processor = new UserService.Processor(new UserServiceImpl());
    TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(tServerTransport()).processor(processor));
    return server;
}

From source file:club.jmint.mifty.server.MiftyServer.java

License:Apache License

private void simple(TMultiplexedProcessor p) {
    try {/*  w ww.  j  av  a 2s  .  c  o  m*/

        //            TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(port);
        //            TThreadedSelectorServer.Args args = new TThreadedSelectorServer.Args(serverTransport);
        //            args.processor(p);
        //            args.protocolFactory(new TCompactProtocol.Factory());
        //            args.transportFactory(new TFramedTransport.Factory());
        //            args.processorFactory(new TProcessorFactory(p));
        //            args.selectorThreads(2);
        //            ExecutorService pool = Executors.newFixedThreadPool(3);
        //            args.executorService(pool);
        //            TThreadedSelectorServer server = new TThreadedSelectorServer(args);
        //            MyLog.logger.info("Starting "+ name +" Server on port "+ port +"...");
        //            server.serve();

        TServerTransport t = new TServerSocket(port);
        TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(t).processor(p));
        //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor ));

        CrossLog.logger.info("Starting " + name + " Server...");
        server.serve();
    } catch (Exception e) {
        cleanup();
        CrossLog.logger.error(name + " server startup failed.");
        CrossLog.printStackTrace(e);
    }
}

From source file:club.jmint.mifty.server.MiftyServer.java

License:Apache License

private void secure(TMultiplexedProcessor p) {
    try {//from   w  w w.  java 2 s.c o m
        TSSLTransportParameters params = new TSSLTransportParameters();
        params.setKeyStore(keystore, "thrift", null, null);

        TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(sslport, 0, null, params);
        //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));

        // Use this for a multi threaded server
        TServer sslserver = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(p));

        CrossLog.logger.info("Starting " + name + " secure server...");
        sslserver.serve();

    } catch (Exception e) {
        cleanup();
        CrossLog.logger.error(name + " server startup failed.");
        CrossLog.printStackTrace(e);
    }
}

From source file:com.alibaba.dubbo.rpc.protocol.thrift.AbstractTest.java

License:Open Source License

protected void init() throws Exception {
    TServerTransport serverTransport = new TServerSocket(PORT);

    TBinaryProtocol.Factory bFactory = new TBinaryProtocol.Factory();

    server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).inputProtocolFactory(bFactory)
            .outputProtocolFactory(bFactory).inputTransportFactory(getTransportFactory())
            .outputTransportFactory(getTransportFactory()).processor(getProcessor()));

    Thread startTread = new Thread() {

        @Override/*from www .  j a va 2  s  . c  om*/
        public void run() {
            server.serve();
        }

    };

    startTread.setName("thrift-server");

    startTread.start();

    while (!server.isServing()) {
        Thread.sleep(100);
    }

    protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(ThriftProtocol.NAME);

    invoker = protocol.refer(getInterface(), getUrl());

}