List of usage examples for org.apache.thrift.server TThreadPoolServer TThreadPoolServer
public TThreadPoolServer(Args args)
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(); } }