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.cloudera.branchreduce.impl.thrift.LordMain.java

License:Open Source License

@Override
public int run(String[] args) throws Exception {
    LOG.info("Initializing lord...");
    initialize(args);/* w  w w  .j  av  a 2  s  .  c om*/
    LOG.info("Lord initialized.");

    ApplicationMasterParameters appMasterParams = new LuaApplicationMasterParameters(getConf(),
            ImmutableMap.<String, Object>of("MASTER_HOSTNAME", hostname, "MASTER_PORT", socket.getLocalPort()))
                    .setClientPort(socket.getLocalPort()).setHostname(hostname);
    ApplicationMasterService appMasterService = new ApplicationMasterServiceImpl(appMasterParams);
    LOG.info("Starting application master service");
    appMasterService.startAndWait();

    TaskSupplier taskSupplier = job.constructTaskSupplier();
    TaskMaster taskMaster = new TaskMaster(numVassals, initialTasks, globalState, taskSupplier);
    taskSupplier.initialize(initialTasks, numVassals, taskMaster, context.getConfiguration());
    LordHandler lordHandler = new LordHandler(taskMaster);
    TServerSocket serverTransport = new TServerSocket(socket);
    Lord.Processor lordProc = new Lord.Processor(lordHandler);
    final TServer thriftServer = new TThreadPoolServer(
            new TThreadPoolServer.Args(serverTransport).processor(lordProc));

    LOG.info("Starting lord thrift server");
    Thread thriftServerThread = new Thread("Lord Thrift Server") {
        @Override
        public void run() {
            thriftServer.serve();
        };
    };
    thriftServerThread.start();

    do {
        Thread.sleep(1000);
    } while (appMasterService.hasRunningContainers());

    // Send final notifications
    lordHandler.signalJobFinished();
    while (!lordHandler.finishedNotificationSent()) {
        Thread.sleep(1000);
    }
    thriftServerThread.join(1000);

    LOG.info("Stopping application master service");
    appMasterService.stopAndWait();
    return 0;
}

From source file:com.cloudera.branchreduce.impl.thrift.VassalMain.java

License:Open Source License

@Override
public int run(String[] args) throws Exception {
    LOG.info("Vassal args: " + Arrays.asList(args));
    initialize(args);/* www  .  j a  va  2 s.  c o m*/

    TServerSocket serverTransport = new TServerSocket(socket);
    LordProxy lord = new LordProxy(masterHostname, masterPort, job.getTaskClass());
    int workerId = lord.registerWorker(hostname, socket.getLocalPort());
    Worker worker = new Worker(workerId, lord, job);
    VassalHandler handler = new VassalHandler(worker);
    Vassal.Processor vassalProc = new Vassal.Processor(handler);

    final TServer thriftServer = new TThreadPoolServer(
            new TThreadPoolServer.Args(serverTransport).processor(vassalProc));
    Thread thriftServerThread = new Thread("Vassal Thrift Server") {
        @Override
        public void run() {
            thriftServer.serve();
        };
    };
    thriftServerThread.start();

    while (!worker.hasStarted() || worker.isRunning()) {
        Thread.sleep(1000);
    }
    worker.sendFinalGlobalStateUpdate();
    LOG.info("Worker finished");
    return 0;
}

From source file:com.cloudera.llama.server.ThriftServer.java

License:Apache License

@Override
protected void startTransport(final CountDownLatch latch) {
    try {//from w w w .ja  va2  s  . c  o m
        Subject.doAs(getServerSubject(), new PrivilegedExceptionAction<Object>() {
            @Override
            public Object run() throws Exception {
                int minThreads = sConf.getServerMinThreads();
                int maxThreads = sConf.getServerMaxThreads();
                tServerSocket = ThriftEndPoint.createTServerSocket(sConf);
                TTransportFactory tTransportFactory = ThriftEndPoint.createTTransportFactory(sConf);
                TProcessor processor = createServiceProcessor();
                processor = ThriftEndPoint.createTProcessorWrapper(sConf, false, processor);
                TThreadPoolServer.Args args = new TThreadPoolServer.Args(tServerSocket);
                args.executorService(createExecutorService("llama-thrift", minThreads, maxThreads));
                args.transportFactory(tTransportFactory);
                args.processor(processor);
                tServer = new TThreadPoolServer(args);
                latch.countDown();
                tServer.serve();
                return null;
            }
        });
    } catch (Exception e) {
        throw new RuntimeException(e);
    }
}

From source file:com.cloudera.llama.server.ThriftServer.java

License:Apache License

@Override
protected void startAdminTransport(final CountDownLatch latch) {
    final TProcessor processor = createAdminServiceProcessor();
    if (processor != null) {
        try {//from  ww  w  . j  a v a 2  s.co m
            Subject.doAs(getServerSubject(), new PrivilegedExceptionAction<Object>() {
                @Override
                public Object run() throws Exception {
                    int minThreads = 1;
                    int maxThreads = 10;
                    tAdminServerSocket = ThriftEndPoint.createAdminTServerSocket(sConf);
                    TTransportFactory tTransportFactory = ThriftEndPoint.createTTransportFactory(sConf);
                    TProcessor tProcessor = ThriftEndPoint.createTProcessorWrapper(sConf, true, processor);
                    TThreadPoolServer.Args args = new TThreadPoolServer.Args(tAdminServerSocket);
                    args.executorService(createExecutorService("llama-thrift-admin", minThreads, maxThreads));
                    args.transportFactory(tTransportFactory);
                    args.processor(tProcessor);
                    tAdminServer = new TThreadPoolServer(args);
                    latch.countDown();
                    tAdminServer.serve();
                    return null;
                }
            });
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
    } else {
        latch.countDown();
    }
}

From source file:com.cottsoft.thrift.framework.server.ThriftMultiBinaryServerFactory.java

License:Apache License

/**
 * ??//from  w w w  .java  2s  . c om
 * 
 * @return
 * @throws ThriftException
 */
public TServer getServer() throws ThriftException {
    return new TThreadPoolServer(new TThreadPoolServer.Args(getServerTransport())
            .protocolFactory(getProtocolFactory()).processor(getProcessor()));
}

From source file:com.facebook.swift.service.unframed.UnframedTest.java

License:Apache License

public TestServerInfo startServer() throws Exception {
    final TestServerInfo info = new TestServerInfo();
    TServerSocket serverSocket = new TServerSocket(0);
    com.facebook.swift.service.scribe.scribe.Iface handler = new PlainScribeHandler();
    TProcessor processor = new com.facebook.swift.service.scribe.scribe.Processor<>(handler);

    TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverSocket).processor(processor);
    final TServer thriftServer = info.server = new TThreadPoolServer(args);

    LOG.info("Server running on port %s", serverSocket.getServerSocket().getLocalPort());

    new Thread() {
        @Override/* ww w .  j  a  va2 s.  c  o  m*/
        public void run() {
            thriftServer.serve();
        }
    }.start();

    while (!info.server.isServing()) {
        Thread.sleep(10);
    }
    info.port = serverSocket.getServerSocket().getLocalPort();

    return info;
}

From source file:com.facebook.swift.service.unframed.UnframedTestSuite.java

License:Apache License

public TestServerInfo startServer() throws Exception {
    final TestServerInfo info = new TestServerInfo();
    TServerSocket serverSocket = new TServerSocket(0);
    com.facebook.swift.service.scribe.scribe.Iface handler = new PlainScribeHandler();
    TProcessor processor = new com.facebook.swift.service.scribe.scribe.Processor<>(handler);

    TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverSocket).processor(processor);
    final TServer thriftServer = info.server = new TThreadPoolServer(args);

    new Thread() {
        @Override/*  w  ww  .j  av  a2  s  .  c  o  m*/
        public void run() {
            thriftServer.serve();
        }
    }.start();

    while (!info.server.isServing()) {
        Thread.sleep(10);
    }
    info.port = serverSocket.getServerSocket().getLocalPort();

    return info;
}

From source file:com.freetest.framework.thrift.ThriftServerTest.java

License:Open Source License

public static void main(String[] args) {
    TestService.Processor<Iface> processor = new TestService.Processor<Iface>(new MyService());
    try {/* w  w w  .  j  a v a 2 s  .  c o m*/
        TServerTransport transport = new TServerSocket(new InetSocketAddress("127.0.0.1", 8888));

        TThreadPoolServer.Args svrArgs = new TThreadPoolServer.Args(transport); // thread pool args
        svrArgs.processor(processor);

        TProtocolFactory factory = new TCompactProtocol.Factory(); // compact
        svrArgs.protocolFactory(factory);

        // server
        TServer server = new TThreadPoolServer(svrArgs);
        server.serve();// server start
    } catch (TTransportException e) {
        e.printStackTrace();
    }
}

From source file:com.hajo.server.MultiThreadedDBServer.java

License:Open Source License

public void startThriftServer() throws TTransportException {
    connectBerkeleyDB();//from  w w  w . j  a v a2s .co  m
    processor = new HajoService.Processor<Iface>((Iface) handler);
    socket = new TServerSocket(port);
    Args args = new Args(socket).processor(processor);
    server = new TThreadPoolServer(args);
    server.serve();
}

From source file:com.jredrain.startup.Bootstrap.java

License:Apache License

public void start() throws Exception {
    try {/*from  w ww. j a  va 2s.co  m*/
        TServerSocket serverTransport = new TServerSocket(port);
        AgentProcessor agentProcessor = new AgentProcessor(password, port);
        RedRain.Processor processor = new RedRain.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);
        /**
         * write pid to pidfile...
         */
        IOUtils.writeText(Globals.REDRAIN_PID_FILE, getPid() + "", CHARSET);

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