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:org.onosproject.bmv2.ctl.Bmv2ControlPlaneThriftServer.java

License:Apache License

@Activate
public void activate() {
    coreService.registerApplication(APP_ID);
    try {//from   www  .ja v a  2s. co m
        TServerTransport transport = new TServerSocket(serverPort);
        LOG.info("Starting server on port {}...", serverPort);
        this.thriftServer = new TThreadPoolServer(new TThreadPoolServer.Args(transport)
                .processor(trackingProcessor).executorService(executorService));
        executorService.execute(thriftServer::serve);
    } catch (TTransportException e) {
        LOG.error("Unable to start server", e);
    }
    LOG.info("Activated");
}

From source file:org.opencron.agent.Bootstrap.java

License:Apache License

private void start() throws Exception {
    try {//from   ww w .  j av a  2s. c o m
        TServerSocket serverTransport = new TServerSocket(port);
        AgentProcessor agentProcessor = new AgentProcessor(password);
        Opencron.Processor processor = new Opencron.Processor(agentProcessor);
        TBinaryProtocol.Factory protFactory = new TBinaryProtocol.Factory(true, true);
        TThreadPoolServer.Args arg = new TThreadPoolServer.Args(serverTransport);
        arg.protocolFactory(protFactory);
        arg.processor(processor);
        this.server = new TThreadPoolServer(arg);

        this.server.setServerEventHandler(new TServerEventHandler() {
            public void preServe() {
            }

            public void deleteContext(ServerContext serverContext, TProtocol tProtocol, TProtocol tProtocol1) {
            }

            public ServerContext createContext(TProtocol tProtocol, TProtocol tProtocol1) {
                return null;
            }

            public void processContext(ServerContext serverContext, TTransport inputTransport,
                    TTransport outputTransport) {
                TSocket socket = (TSocket) inputTransport;
                //?OPENCRON-serverip
                Globals.OPENCRON_SOCKET_ADDRESS = socket.getSocket().getRemoteSocketAddress().toString()
                        .substring(1);
            }
        });

        /**
         * write pid to pidfile...
         */
        IOUtils.writeText(Globals.OPENCRON_PID_FILE, getPid(), CHARSET);

        //new thread to start for thrift server
        new Thread(new Runnable() {
            @Override
            public void run() {
                server.serve();
            }
        }).start();
        logger.info("[opencron]agent started @ port:{},pid:{}", port, getPid());
    } catch (Exception e) {
        e.printStackTrace();
    }
}

From source file:org.opentripplanner.api.thrift.OTPServerTask.java

License:Open Source License

public void run() {
    LOG.info("Run called, port {}", port);
    if (otpServiceImpl == null) {
        LOG.warn("otpServiceImpl is null, bailing");
        return;//from   w  ww.  java 2  s  .c o  m
    }

    try {
        OTPService.Processor<OTPServiceImpl> processor = new OTPService.Processor<OTPServiceImpl>(
                otpServiceImpl);

        // TODO(flamholz): make the transport, protocol and server type be configurable?
        TServerTransport serverTransport = new TServerSocket(port);
        TProtocolFactory protocolFactory = new TBinaryProtocol.Factory(true, true);
        TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverTransport).processor(processor)
                .protocolFactory(protocolFactory);
        TServer server = new TThreadPoolServer(args);

        LOG.info("Starting the OTPService on port {}", port);
        server.serve();
    } catch (TTransportException e) {
        e.printStackTrace();
    }
}

From source file:org.qcri.da.sysrev.Server.java

License:Apache License

public static void simple(SysRevJavaHelpers.Processor<ServerHandler> processor, Integer port) {
    try {/*from w w  w.  j a  v a 2 s.  c  om*/
        TServerTransport serverTransport = new TServerSocket(port.intValue());
        // TServer server = new TSimpleServer(new Args(serverTransport).processor(processor));

        // Use this for a multithreaded server
        // default for Args is minThreadCount: 5 and maxThreadCount: Integer.MAX_VALUE
        TServer server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(processor));

        System.out.println("Server listening on port " + port + "...");
        server.serve();
    } catch (Exception e) {
        e.printStackTrace();
        System.exit(1);
    }
}

From source file:org.siyapath.PeerListener.java

License:Apache License

/**
 * Creates a Thrift server instance//from   w  ww .  j  a v a  2s.c  om
 * @param processor
 */
private void initializeThriftServer(Siyapath.Processor processor) throws TTransportException {
    log.debug("Initializing thrift server with the port:" + nodeContext.getNodeInfo().getPort());
    serverTransport = new TServerSocket(nodeContext.getNodeInfo().getPort());
    //simple server
    // server = new TSimpleServer(new TServer.Args(serverTransport).processor(processor));
    // Thread Pool Server
    server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
    //Threaded Selector Server
    //TNonblockingServerTransport serverTransport1 = new TNonblockingServerSocket(nodeContext.getNodeInfo().getPort());
    // server = new TThreadedSelectorServer(new TThreadedSelectorServer.Args(serverTransport1).processor(processor));
    //Half Sync/Half Async  Server
    // server = new THsHaServer(new THsHaServer.Args(serverTransport1).processor(processor));
    //Non blocking Server
    // server = new TNonblockingServer(new TNonblockingServer.Args(serverTransport1).processor(processor));
}

From source file:org.springframework.data.hadoop.hive.HiveServerFactoryBean.java

License:Apache License

@Override
public void afterPropertiesSet() throws Exception {

    Configuration cfg = ConfigurationUtils.createFrom(configuration, properties);

    conf = new HiveConf(cfg, HiveServerHandler.class);

    ServerUtils.cleanUpScratchDir(conf);
    TServerTransport serverTransport = new TServerSocket(port);

    // Hive 0.8.0
    ThriftHiveProcessorFactory hfactory = new ThriftHiveProcessorFactory(null, conf);

    TThreadPoolServer.Args sargs = new TThreadPoolServer.Args(serverTransport).processorFactory(hfactory)
            .transportFactory(new TTransportFactory()).protocolFactory(new TBinaryProtocol.Factory())
            .minWorkerThreads(minThreads).maxWorkerThreads(maxThreads);
    server = new TThreadPoolServer(sargs);

    //   Hive 0.7.x (unfortunately it doesn't support passing a configuration object to it)
    // //from  w  w  w . ja  v  a 2 s .c  o  m
    //      ThriftHiveProcessorFactory hfactory = new ThriftHiveProcessorFactory(null);
    //      TThreadPoolServer.Options options = new TThreadPoolServer.Options();
    //      options.minWorkerThreads = minThreads;
    //      options.maxWorkerThreads = maxThreads;

    //      server = new TThreadPoolServer(hfactory, serverTransport, new TTransportFactory(), new TTransportFactory(),
    //            new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(), options);

    if (executor == null) {
        executor = new SimpleAsyncTaskExecutor(getClass().getSimpleName());
    }
}

From source file:org.springframework.remoting.thrift.ThriftExporter.java

License:Apache License

@Override
public void start() {

    this.running = true;
    try {/*from  w ww .java 2s  .  co m*/

        if (logger.isDebugEnabled()) {
            logger.debug("starting " + ThriftExporter.class.getName()
                    + ". This exporter's only been tested on Thrift 0.7. Your mileage may vary with other versions");
        }

        TServerTransport serverTransport = this.transport;
        if (null == serverTransport) { // ie, no transport specified
            if (this.address != null) {
                serverTransport = new TServerSocket(this.address);
            } else {
                serverTransport = new TServerSocket(this.port);
            }
        }

        TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverTransport);
        args.processor(processor);

        if (logger.isDebugEnabled()) {
            logger.debug("starting to listen on " + serverTransport.toString());
        }

        if (null == this.tServer) {
            tServer = new TThreadPoolServer(args);
        }
        tServer.serve();

    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:org.waarp.openr66.thrift.R66ThriftServerService.java

License:Open Source License

public void run() {
    try {/*w  w w  .ja va  2 s . c om*/
        logger.warn("Will start Thrift service on port: " + port);
        byte[] local = { 127, 0, 0, 1 };
        InetAddress addr;
        try {
            addr = InetAddress.getByAddress(local);
        } catch (UnknownHostException e) {
            try {
                addr = InetAddress.getLocalHost();
            } catch (UnknownHostException e1) {
                logger.error("Cannot start the Thrift service", e1);
                serviceReady.setFailure(e);
                releaseResources();
                return;
            }
        }
        InetSocketAddress address = new InetSocketAddress(addr, port);
        serverTransport = new TServerSocket(address);
        R66Service.Processor<R66EmbeddedServiceImpl> processor = new R66Service.Processor<R66EmbeddedServiceImpl>(
                new R66EmbeddedServiceImpl());
        server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
        serviceReady.setSuccess();
        server.serve();
    } catch (TTransportException e) {
        logger.error("An error occurs during initialization of Thrift support", e);
        serviceReady.setFailure(e);
        releaseResources();
    }
}

From source file:org.waarp.thrift.test.ServerExample.java

License:Open Source License

public void run() {
    try {//  w  w w. j a v  a  2  s.  com
        TServerTransport serverTransport = null;
        if (isBlocking) {
            serverTransport = new TServerSocket(PORT);
        } else {
            serverTransport = new TNonblockingServerSocket(PORT);
        }
        R66Service.Processor<R66ServiceImpl> processor = new R66Service.Processor<R66ServiceImpl>(
                new R66ServiceImpl());
        TServer server = null;
        if (isBlocking) {
            server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(processor));
        } else {
            /*server = new TThreadedSelectorServer(
              new TThreadedSelectorServer.Args((TNonblockingServerTransport) serverTransport)
              .processor(processor));*/
            server = new TNonblockingServer(
                    new TNonblockingServer.Args((TNonblockingServerTransport) serverTransport)
                            .processor(processor));
        }
        System.out.println("Starting server on port " + PORT);
        server.serve();
    } catch (TTransportException e) {
        e.printStackTrace();
    }
}

From source file:org.wso2.andes.server.slot.thrift.MBThriftServer.java

License:Open Source License

/**
 * Start the thrift server// w  w  w .ja  v a 2s. c  o m
 *
 * @param hostName the hostname
 * @param port     thrift server port
 * @param taskName the name of the main server thread
 * @throws org.wso2.andes.kernel.AndesException
 *          throws in case of an starting error
 */
public void start(final String hostName, final int port, final String taskName) throws AndesException {
    try {

        TServerSocket socket = new TServerSocket(new InetSocketAddress(hostName, port));
        SlotManagementService.Processor<SlotManagementServiceImpl> processor = new SlotManagementService.Processor<SlotManagementServiceImpl>(
                slotManagementServerHandler);
        TProtocolFactory protocolFactory = new TBinaryProtocol.Factory();
        server = new TThreadPoolServer(
                new TThreadPoolServer.Args(socket).processor(processor).inputProtocolFactory(protocolFactory));

        log.info("Starting the Message Broker Thrift server on host '" + hostName + "' on port '" + port
                + "'...");
        new Thread(new MBServerMainLoop(server), taskName).start();

    } catch (TTransportException e) {
        throw new AndesException("Cannot start Thrift server on port " + port + " on host " + hostName, e);
    }
}