List of usage examples for org.apache.thrift.server TThreadPoolServer TThreadPoolServer
public TThreadPoolServer(Args args)
From source file:alluxio.worker.DefaultAlluxioWorker.java
License:Apache License
/** * Helper method to create a {@link org.apache.thrift.server.TThreadPoolServer} for handling * incoming RPC requests.// w w w . j a v a 2s .c om * * @return a thrift server */ private TThreadPoolServer createThriftServer() { int minWorkerThreads = Configuration.getInt(PropertyKey.WORKER_BLOCK_THREADS_MIN); int maxWorkerThreads = Configuration.getInt(PropertyKey.WORKER_BLOCK_THREADS_MAX); TMultiplexedProcessor processor = new TMultiplexedProcessor(); registerServices(processor, mBlockWorker.getServices()); registerServices(processor, mFileSystemWorker.getServices()); // register additional workers for RPC service for (Worker worker : mAdditionalWorkers) { registerServices(processor, worker.getServices()); } // Return a TTransportFactory based on the authentication type TTransportFactory tTransportFactory; try { tTransportFactory = mTransportProvider.getServerTransportFactory(); } catch (IOException e) { throw Throwables.propagate(e); } TThreadPoolServer.Args args = new TThreadPoolServer.Args(mThriftServerSocket) .minWorkerThreads(minWorkerThreads).maxWorkerThreads(maxWorkerThreads).processor(processor) .transportFactory(tTransportFactory).protocolFactory(new TBinaryProtocol.Factory(true, true)); if (Configuration.getBoolean(PropertyKey.TEST_MODE)) { args.stopTimeoutVal = 0; } else { args.stopTimeoutVal = Constants.THRIFT_STOP_TIMEOUT_SECONDS; } return new TThreadPoolServer(args); }
From source file:backtype.storm.security.auth.SaslTransportPlugin.java
License:Apache License
@Override public TServer getServer(TProcessor processor) throws IOException, TTransportException { int port = type.getPort(storm_conf); TTransportFactory serverTransportFactory = getServerTransportFactory(); TServerSocket serverTransport = new TServerSocket(port); int numWorkerThreads = type.getNumThreads(storm_conf); Integer queueSize = type.getQueueSize(storm_conf); TThreadPoolServer.Args server_args = new TThreadPoolServer.Args(serverTransport) .processor(new TUGIWrapProcessor(processor)).minWorkerThreads(numWorkerThreads) .maxWorkerThreads(numWorkerThreads).protocolFactory(new TBinaryProtocol.Factory(false, true)); if (serverTransportFactory != null) { server_args.transportFactory(serverTransportFactory); }/*w ww .j a v a 2 s.co m*/ //if (queueSize != null) { // server_args.executorService(new ThreadPoolExecutor(numWorkerThreads, numWorkerThreads, // 60, TimeUnit.SECONDS, new ArrayBlockingQueue(queueSize))); //} return new TThreadPoolServer(server_args); }
From source file:bidiDemo.server.Server.java
public void init() { System.out.println("Initializing server..."); final MessageDistributorAndHandler mdh = new MessageDistributorAndHandler(); //new Thread(mdh.new Messenger()).start(); // Using our own TProcessorFactory gives us an opportunity to get // access to the transport right after the client connection is // accepted.//from w ww. j a va2s. co m TProcessorFactory processorFactory = new TProcessorFactory(null) { @Override public TProcessor getProcessor(TTransport trans) { MessageServiceClient msgClient = new MessageServiceClient(trans); mdh.addClient(msgClient); System.out.println("Client added to list."); return new MessageService.Processor(mdh.new MessageServiceHandler(msgClient)); } }; TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(transport); serverArgs.processorFactory(processorFactory); TServer server = new TThreadPoolServer(serverArgs); System.out.println("Server started."); server.serve(); }
From source file:bidiSimpleDemo.server.Server.java
public static void main(String[] args) { try {//from ww w. j a v a2 s. c o m final MessageDistributor msgDistributor = new MessageDistributor(); new Thread(msgDistributor).start(); TProcessorFactory processorFactory = new TProcessorFactory(null) { @Override public TProcessor getProcessor(TTransport trans) { MessageService.Client msgSrvClient = new MessageService.Client(new TBinaryProtocol(trans)); msgDistributor.addClient(msgSrvClient); System.out.println("Client added to list."); return new MessageService.Processor(new MessageServiceHandler(msgSrvClient, msgDistributor)); } }; TServerTransport serverTransport = new TServerSocket(9095); TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverTransport); serverArgs.processorFactory(processorFactory); TServer server = new TThreadPoolServer(serverArgs); System.out.println("Java server started."); server.serve(); } catch (Exception ex) { ex.printStackTrace(); } }
From source file:cc.twittertools.search.api.TrecSearchThriftServer.java
License:Apache License
@SuppressWarnings("static-access") public static void main(String[] args) throws Exception { Options options = new Options(); options.addOption(new Option(HELP_OPTION, "show help")); options.addOption(OptionBuilder.withArgName("port").hasArg().withDescription("port").create(PORT_OPTION)); options.addOption(// w ww. ja va2 s . c o m OptionBuilder.withArgName("index").hasArg().withDescription("index location").create(INDEX_OPTION)); options.addOption(OptionBuilder.withArgName("num").hasArg() .withDescription("max number of threads in thread pool").create(MAX_THREADS_OPTION)); options.addOption(OptionBuilder.withArgName("file").hasArg() .withDescription("file containing access tokens").create(CREDENTIALS_OPTION)); CommandLine cmdline = null; CommandLineParser parser = new GnuParser(); try { cmdline = parser.parse(options, args); } catch (ParseException exp) { System.err.println("Error parsing command line: " + exp.getMessage()); System.exit(-1); } if (cmdline.hasOption(HELP_OPTION) || !cmdline.hasOption(INDEX_OPTION)) { HelpFormatter formatter = new HelpFormatter(); formatter.printHelp(TrecSearchThriftServer.class.getName(), options); System.exit(-1); } int port = cmdline.hasOption(PORT_OPTION) ? Integer.parseInt(cmdline.getOptionValue(PORT_OPTION)) : DEFAULT_PORT; int maxThreads = cmdline.hasOption(MAX_THREADS_OPTION) ? Integer.parseInt(cmdline.getOptionValue(MAX_THREADS_OPTION)) : DEFAULT_MAX_THREADS; File index = new File(cmdline.getOptionValue(INDEX_OPTION)); Map<String, String> credentials = null; if (cmdline.hasOption(CREDENTIALS_OPTION)) { credentials = Maps.newHashMap(); File cfile = new File(cmdline.getOptionValue(CREDENTIALS_OPTION)); if (!cfile.exists()) { System.err.println("Error: " + cfile + " does not exist!"); System.exit(-1); } for (String s : Files.readLines(cfile, Charsets.UTF_8)) { try { String[] arr = s.split(":"); credentials.put(arr[0], arr[1]); } catch (Exception e) { // Catch any exceptions from parsing file contain access tokens System.err.println("Error reading access tokens from " + cfile + "!"); System.exit(-1); } } } if (!index.exists()) { System.err.println("Error: " + index + " does not exist!"); System.exit(-1); } TServerSocket serverSocket = new TServerSocket(port); TrecSearch.Processor<TrecSearch.Iface> searchProcessor = new TrecSearch.Processor<TrecSearch.Iface>( new TrecSearchHandler(index, credentials)); TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverSocket); serverArgs.maxWorkerThreads(maxThreads); TServer thriftServer = new TThreadPoolServer( serverArgs.processor(searchProcessor).protocolFactory(new TBinaryProtocol.Factory())); thriftServer.serve(); }
From source file:chat.ChatServer.java
public static void simple(ChatService.Processor processor) { try {//w w w. ja v a2s. c o m TServerTransport serverTransport = new TServerSocket(9090); TServer server = new TThreadPoolServer( new TThreadPoolServer.Args(serverTransport).processor(processor)); System.out.println("Starting the server..."); server.serve(); } catch (Exception e) { e.printStackTrace(); } }
From source file:cloud.thrift.server.conf.ThriftConfig.java
License:Open Source License
@Bean public TServer tServer() { //??/*www .ja v a 2 s .c o m*/ UserService.Processor processor = new UserService.Processor(new UserServiceImpl()); TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(tServerTransport()).processor(processor)); return server; }
From source file:club.jmint.mifty.server.MiftyServer.java
License:Apache License
private void simple(TMultiplexedProcessor p) { try {/* w ww. j av a 2s . c o m*/ // TNonblockingServerTransport serverTransport = new TNonblockingServerSocket(port); // TThreadedSelectorServer.Args args = new TThreadedSelectorServer.Args(serverTransport); // args.processor(p); // args.protocolFactory(new TCompactProtocol.Factory()); // args.transportFactory(new TFramedTransport.Factory()); // args.processorFactory(new TProcessorFactory(p)); // args.selectorThreads(2); // ExecutorService pool = Executors.newFixedThreadPool(3); // args.executorService(pool); // TThreadedSelectorServer server = new TThreadedSelectorServer(args); // MyLog.logger.info("Starting "+ name +" Server on port "+ port +"..."); // server.serve(); TServerTransport t = new TServerSocket(port); TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(t).processor(p)); //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor )); CrossLog.logger.info("Starting " + name + " Server..."); server.serve(); } catch (Exception e) { cleanup(); CrossLog.logger.error(name + " server startup failed."); CrossLog.printStackTrace(e); } }
From source file:club.jmint.mifty.server.MiftyServer.java
License:Apache License
private void secure(TMultiplexedProcessor p) { try {//from w w w. java 2 s.c o m TSSLTransportParameters params = new TSSLTransportParameters(); params.setKeyStore(keystore, "thrift", null, null); TServerTransport serverTransport = TSSLTransportFactory.getServerSocket(sslport, 0, null, params); //TServer server = new TSimpleServer(new Args(serverTransport).processor(processor)); // Use this for a multi threaded server TServer sslserver = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).processor(p)); CrossLog.logger.info("Starting " + name + " secure server..."); sslserver.serve(); } catch (Exception e) { cleanup(); CrossLog.logger.error(name + " server startup failed."); CrossLog.printStackTrace(e); } }
From source file:com.alibaba.dubbo.rpc.protocol.thrift.AbstractTest.java
License:Open Source License
protected void init() throws Exception { TServerTransport serverTransport = new TServerSocket(PORT); TBinaryProtocol.Factory bFactory = new TBinaryProtocol.Factory(); server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).inputProtocolFactory(bFactory) .outputProtocolFactory(bFactory).inputTransportFactory(getTransportFactory()) .outputTransportFactory(getTransportFactory()).processor(getProcessor())); Thread startTread = new Thread() { @Override/*from www . j a va 2 s . c om*/ public void run() { server.serve(); } }; startTread.setName("thrift-server"); startTread.start(); while (!server.isServing()) { Thread.sleep(100); } protocol = ExtensionLoader.getExtensionLoader(Protocol.class).getExtension(ThriftProtocol.NAME); invoker = protocol.refer(getInterface(), getUrl()); }