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

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

Introduction

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

Prototype

public THsHaServer(Args args) 

Source Link

Document

Create the server with the specified Args configuration

Usage

From source file:JavaHsHaServer.java

License:Apache License

public static void main(String[] args) {
    try {/*from ww w  .  j a v a  2s.c om*/
        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 {//from  w ww  .ja va2s  . c om
        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 w w .j av a  2 s . co  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. co m

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

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 w w.  java 2s  . c  om
}

From source file:com.alibaba.jstorm.drpc.Drpc.java

License:Apache License

private THsHaServer initHandlerServer(Map conf, final Drpc service) throws Exception {
    int port = JStormUtils.parseInt(conf.get(Config.DRPC_PORT));
    int workerThreadNum = JStormUtils.parseInt(conf.get(Config.DRPC_WORKER_THREADS));
    int queueSize = JStormUtils.parseInt(conf.get(Config.DRPC_QUEUE_SIZE));

    LOG.info("Begin to init Handler Server " + port);

    TNonblockingServerSocket socket = new TNonblockingServerSocket(port);
    THsHaServer.Args targs = new THsHaServer.Args(socket);
    targs.workerThreads(64);/*from  ww  w.j  a  v a 2 s. c  o  m*/
    targs.protocolFactory(new TBinaryProtocol.Factory());
    targs.processor(new DistributedRPC.Processor<DistributedRPC.Iface>(service));

    ThreadPoolExecutor executor = new ThreadPoolExecutor(workerThreadNum, workerThreadNum, 60, TimeUnit.SECONDS,
            new ArrayBlockingQueue(queueSize));
    targs.executorService(executor);

    THsHaServer handlerServer = new THsHaServer(targs);
    LOG.info("Successfully init Handler Server " + port);

    return handlerServer;
}

From source file:com.alibaba.jstorm.drpc.Drpc.java

License:Apache License

private THsHaServer initInvokeServer(Map conf, final Drpc service) throws Exception {
    int port = JStormUtils.parseInt(conf.get(Config.DRPC_INVOCATIONS_PORT));

    LOG.info("Begin to init Invoke Server " + port);

    TNonblockingServerSocket socket = new TNonblockingServerSocket(port);
    THsHaServer.Args targsInvoke = new THsHaServer.Args(socket);
    targsInvoke.workerThreads(64);//from w ww .j  a  v a  2  s. com
    targsInvoke.protocolFactory(new TBinaryProtocol.Factory());
    targsInvoke.processor(new DistributedRPCInvocations.Processor<DistributedRPCInvocations.Iface>(service));

    THsHaServer invokeServer = new THsHaServer(targsInvoke);

    LOG.info("Successfully init Invoke Server " + port);
    return invokeServer;
}

From source file:com.liveramp.hank.client.SmartClientDaemon.java

License:Apache License

/**
 * start serving the thrift server. doesn't return.
 *
 * @throws IOException/* w w  w .j  av a2s. c o  m*/
 * @throws TException
 */
private void serve() throws IOException, TException {
    // set up the service handler
    HankSmartClient handler = new HankSmartClient(coordinator, ringGroupName);

    // launch the thrift server
    TNonblockingServerSocket serverSocket = new TNonblockingServerSocket(configurator.getPortNumber());
    Args options = new THsHaServer.Args(serverSocket);
    options.processor(new SmartClient.Processor(handler));
    options.workerThreads(configurator.getNumThreads());
    options.protocolFactory(new TCompactProtocol.Factory());
    server = new THsHaServer(options);
    server.serve();
}

From source file:com.liveramp.hank.client.TestHankSmartClient.java

License:Apache License

private TServer createPartitionServer(TNonblockingServerTransport transport, PartitionServer.Iface iface) {
    Args args = new Args(transport);
    args.processor(new PartitionServer.Processor<>(iface));
    args.protocolFactory(new TCompactProtocol.Factory());
    return new THsHaServer(args);
}

From source file:com.netflix.suro.input.thrift.ThriftServer.java

License:Apache License

@Override
public void start() throws TTransportException {
    msgProcessor.start();//from  ww w . ja va2 s .  c  om

    logger.info("Starting ThriftServer with config " + config);
    CustomServerSocket transport = new CustomServerSocket(config);
    port = transport.getPort();
    SuroServer.Processor processor = new SuroServer.Processor<MessageSetProcessor>(msgProcessor);

    THsHaServer.Args serverArgs = new THsHaServer.Args(transport);
    serverArgs.workerThreads(config.getThriftWorkerThreadNum());
    serverArgs.processor(processor);
    serverArgs.maxReadBufferBytes = config.getThriftMaxReadBufferBytes();

    executor = Executors.newSingleThreadExecutor();

    server = new THsHaServer(serverArgs);
    Future<?> serverStarted = executor.submit(new Runnable() {
        @Override
        public void run() {
            server.serve();
        }
    });
    try {
        serverStarted.get(config.getStartupTimeout(), TimeUnit.MILLISECONDS);
        if (server.isServing()) {
            logger.info("Server started on port:" + config.getPort());
        } else {
            throw new RuntimeException("ThriftServer didn't start up within: " + config.getStartupTimeout());
        }
    } catch (InterruptedException e) {
        // ignore this type of exception
    } catch (TimeoutException e) {
        if (server.isServing()) {
            logger.info("Server started on port:" + config.getPort());
        } else {
            logger.error("ThriftServer didn't start up within: " + config.getStartupTimeout());
            Throwables.propagate(e);
        }
    } catch (ExecutionException e) {
        logger.error("Exception on starting ThriftServer: " + e.getMessage(), e);
        Throwables.propagate(e);
    }
}