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:com.wmz7year.thrift.pool.BasicAbstractTest.java

License:Apache License

protected ThriftServerInfo startServer() throws Throwable {
    // ???//from ww w.ja v  a  2s  .  c om
    final int port = choseListenPort();
    ThriftServerInfo serverInfo = new ThriftServerInfo(LOACLHOST, port);
    final AtomicReference<Throwable> ex = new AtomicReference<Throwable>();

    Thread runner = new Thread("thrift-server-starter") {
        @Override
        public void run() {
            try {
                TServerTransport serverTransport = new TServerSocket(port);
                Factory proFactory = new TBinaryProtocol.Factory();
                Processor<Iface> processor = new Example.Processor<Example.Iface>(new Example.Iface() {

                    @Override
                    public void pong() throws TException {
                        logger.info("pong");
                    }

                    @Override
                    public void ping() throws TException {
                        logger.info("ping");
                    }
                });
                Args thriftArgs = new Args(serverTransport);
                thriftArgs.processor(processor);
                thriftArgs.protocolFactory(proFactory);
                TServer tserver = new TThreadPoolServer(thriftArgs);
                servers.add(tserver);
                logger.info("???" + port);
                tserver.serve();
            } catch (TTransportException e) {
                logger.error("thrift??", e);
                ex.set(e);
            }
        }
    };

    runner.start();

    Throwable throwable = ex.get();
    if (throwable != null) {
        throw throwable;
    }
    // ??
    Thread.sleep(1000);
    return serverInfo;
}

From source file:com.wmz7year.thrift.pool.BasicAbstractTest.java

License:Apache License

protected ThriftServerInfo startMulitServiceServer() throws Throwable {
    // ???//from   ww  w  .  j  ava2 s.  c o  m
    final int port = choseListenPort();
    ThriftServerInfo serverInfo = new ThriftServerInfo(LOACLHOST, port);
    final AtomicReference<Throwable> ex = new AtomicReference<Throwable>();
    // TODO
    Thread runner = new Thread("thrift-server-starter") {
        @Override
        public void run() {
            try {
                TMultiplexedProcessor processor = new TMultiplexedProcessor();
                TServerTransport serverTransport = new TServerSocket(port);
                Factory proFactory = new TBinaryProtocol.Factory();

                processor.registerProcessor("example",
                        new Example.Processor<Example.Iface>(new Example.Iface() {

                            @Override
                            public void pong() throws TException {
                                logger.info("example pong");
                            }

                            @Override
                            public void ping() throws TException {
                                logger.info("example ping");
                            }
                        }));

                processor.registerProcessor("other", new Other.Processor<Other.Iface>(new Other.Iface() {

                    @Override
                    public void pong() throws TException {
                        logger.info("other pong");
                    }

                    @Override
                    public void ping() throws TException {
                        logger.info("other ping");
                    }
                }));
                Args thriftArgs = new Args(serverTransport);
                thriftArgs.processor(processor);
                thriftArgs.protocolFactory(proFactory);
                TServer tserver = new TThreadPoolServer(thriftArgs);
                servers.add(tserver);
                logger.info("???" + port);
                tserver.serve();
            } catch (TTransportException e) {
                logger.error("thrift??", e);
                ex.set(e);
            }
        }
    };

    runner.start();

    Throwable throwable = ex.get();
    if (throwable != null) {
        throw throwable;
    }
    // ??
    Thread.sleep(1000);
    return serverInfo;
}

From source file:com.wmz7year.thrift.pool.example.ExampleServer.java

License:Apache License

public static void main(String[] args) {
    try {/*  w w  w  .  j av  a  2s . c  o  m*/
        int port = 9119;
        TServerTransport serverTransport = new TServerSocket(port);
        Factory proFactory = new TBinaryProtocol.Factory();
        Processor<Iface> processor = new Example.Processor<Example.Iface>(new Example.Iface() {

            @Override
            public void pong() throws TException {
                System.out.println("pong");
            }

            @Override
            public void ping() throws TException {
                System.out.println("ping");
            }
        });
        Args thriftArgs = new Args(serverTransport);
        thriftArgs.processor(processor);
        thriftArgs.protocolFactory(proFactory);
        TServer tserver = new TThreadPoolServer(thriftArgs);
        System.out.println("??:" + port);
        tserver.serve();
    } catch (TTransportException e) {
        e.printStackTrace();
    }
}

From source file:de.pgrp.core.ThriftServerWorker.java

License:Open Source License

/**
 * The run() method//from  ww w.  j a v a2 s  . c  o m
 */
@SuppressWarnings({ "rawtypes", "unchecked" })
@Override
public void run() {
    this.setName("Thrift-Server Thread");
    try {
        this.serverTransport = new TServerSocket(Globals.p2pPort);
        this.processor = new DataTransfer.Processor(new ThriftDataHandler());

        //Singlethreaded:
        //this.server = new TSimpleServer(new TServer.Args(serverTransport).processor(processor));

        //Multithreaded:
        TThreadPoolServer.Args tpsa = new TThreadPoolServer.Args(serverTransport).processor(processor);
        tpsa.minWorkerThreads(1);
        tpsa.maxWorkerThreads(20);
        this.server = new TThreadPoolServer(tpsa);

        Globals.log.addMsg("Starting thrift handler on port " + Globals.p2pPort);
        this.server.serve();
    } catch (TTransportException e) {
        Globals.log.addMsg("Thrift server error: " + e);
    }

    Globals.log.addMsg("Thrift-Server-Thread interrupted. Closing...", 4);
}

From source file:ejemplo1.Ejemplo1.java

/**
 * @param args the command line arguments
 *//*w w w  .  ja  v  a 2s.c  o  m*/
public static void main(String[] args) {
    try {
        // TODO code application logic here
        TServerSocket serverTransport = new TServerSocket(9191);
        pruebaSuma.Processor processor = new pruebaSuma.Processor(new pruebaOperacion());
        TServer server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(processor));
        System.out.println("iniciando servidor en el puerto 9191");
        server.serve();

    } catch (TTransportException ex) {
        ex.printStackTrace();
    }

}

From source file:eu.asterics.mw.are.asapi.Activator.java

License:GNU General Public License

public Activator() {
    try {/*from  w w  w. jav  a 2  s . c o  m*/
        logger = AstericsErrorHandling.instance.getLogger();
        AsapiServerHandler handler = new AsapiServerHandler();
        AsapiServer.Processor processor = new AsapiServer.Processor(handler);
        TServerTransport serverTransport = new TServerSocket(9090); // socket timeout after 3000ms => TServerSocket(9090, 3000)
        // simple server for thrift 0.5.0
        //server = new TSimpleServer(processor, serverTransport);
        // simple server for thrift 0.6.1
        //server = new TSimpleServer(new TServer.Args(serverTransport).processor(processor));

        // multithreaded server for thrift 0.5.0
        //server = new TThreadPoolServer(processor, serverTransport);
        // multithreaded server for thrift >= 0.6.1
        server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));

        //         TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverTransport);
        //         serverArgs.maxWorkerThreads(4);
        //         server = new TThreadPoolServer(serverArgs.processor(processor).protocolFactory(new TBinaryProtocol.Factory()));

    } catch (Exception e) {
        logger.warning(this.getClass().getName() + "." + "Activator: -> \n" + e.getMessage());
    }

}

From source file:ezbake.frack.submitter.SubmitterService.java

License:Apache License

private void run() throws TTransportException {
    Submitter.Processor processor = new Submitter.Processor(this);
    TServerTransport serverTransport = new TServerSocket(8500);
    TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));

    System.out.println("Starting the frack-submitter service");
    server.serve();//from   ww  w  .ja va2s.  c o m
}

From source file:ezbake.IntentQuery.Sample.MongoDatasource.Server.MongoExternalDataSourceServer.java

License:Apache License

public static void simple(ExternalDataSourceService.Processor processor) {
    try {//w  ww.j ava2 s  .c  om
        TServerTransport serverTransport = new TServerSocket(SIMPLE_PORT);
        //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));

        // Use this for a multithreaded server
        TServer server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(processor));

        System.out.println("Starting the simple server...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:ezbake.IntentQuery.Sample.MongoDatasource.Server.MongoExternalDataSourceServer.java

License:Apache License

public static void secure(ExternalDataSourceService.Processor processor) {
    try {//from w  w  w. j  ava2  s .  co  m
        /*
         * Use TSSLTransportParameters to setup the required SSL parameters. In this example
         * we are setting the keystore and the keystore password. Other things like algorithms,
         * cipher suites, client auth etc can be set. 
         */
        TSSLTransportParameters params = new TSSLTransportParameters();
        // The Keystore contains the private key
        params.setKeyStore("/home/training/ezBake/thrift-0.9.1/lib/java/test/.keystore", "thrift", null, null);

        /*
         * Use any of the TSSLTransportFactory to get a server transport with the appropriate
         * SSL configuration. You can use the default settings if properties are set in the command line.
         * Ex: -Djavax.net.ssl.keyStore=.keystore and -Djavax.net.ssl.keyStorePassword=thrift
         * 
         * Note: You need not explicitly call open(). The underlying server socket is bound on return
         * from the factory class. 
         */
        TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(SECURE_PORT, 0, null, params);
        //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));

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

        System.out.println("Starting the secure server...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:ezbake.security.service.EzSecurityLauncher.java

License:Apache License

/**
 * Parse command line arguments and start the server
 *
 * @throws Exception/*from  w  w  w.j  av a  2  s  . c om*/
 */
public void run() throws Exception {
    checkEzConfig();
    // get the port
    if (this.port == 0) {
        this.port = findFreePort();
    }

    // Setup the EzConfiguration
    Properties config = new EzConfiguration().getProperties();
    if (!config.containsKey(EzBakePropertyConstants.EZBAKE_SECURITY_ID)) {
        config.setProperty(EzBakePropertyConstants.EZBAKE_SECURITY_ID, this.id);
    }
    if (!config.containsKey(EzBakePropertyConstants.EZBAKE_CERTIFICATES_DIRECTORY)) {
        config.setProperty(EzBakePropertyConstants.EZBAKE_CERTIFICATES_DIRECTORY,
                new File(this.config, "ssl").getPath());
    }

    if (!config.containsKey(EzBakePropertyConstants.EZBAKE_SECURITY_SERVICE_MOCK_SERVER)) {
        config.setProperty(EzBakePropertyConstants.EZBAKE_SECURITY_SERVICE_MOCK_SERVER,
                String.valueOf(this.mock));
    }

    EzBakeBaseThriftService runner = new EzSecurityHandler();
    runner.setConfigurationProperties(config);

    TProcessor processor = runner.getThriftProcessor();
    TServerSocket socket = ThriftUtils.getSslServerSocket(this.port, config);
    server = new TThreadPoolServer(
            new TThreadPoolServer.Args(socket).processor(processor).minWorkerThreads(1000));

    // Make the service discoverable
    if (new ZookeeperConfigurationHelper(config).getZookeeperConnectionString() == null) {
        throw new RuntimeException("No zookeeper is available for service discovery!");
    }

    // register with zookeeper
    client = new ServiceDiscoveryClient(
            new ZookeeperConfigurationHelper(config).getZookeeperConnectionString());
    client.registerEndpoint(ezsecurityConstants.SERVICE_NAME, getHostName());

    // Add shutdown hook to unregister
    unregisterOnShutdown();

    log.info("Starting EzBakeSecurity server: port({})", socket.getServerSocket().getLocalPort());
    server.serve();
}