List of usage examples for org.apache.thrift.server TThreadPoolServer TThreadPoolServer
public TThreadPoolServer(Args args)
From source file:com.alibaba.dubbo.rpc.protocol.thrift.DubboServiceMethodNotFoundTest.java
License:Open Source License
protected void init() throws Exception { TServerTransport serverTransport = new TServerSocket(PORT); DubboDemoImpl impl = new DubboDemoImpl(); $__DemoStub.Processor processor = new $__DemoStub.Processor(impl); // for test/*from w w w .ja va 2s .c om*/ Field field = processor.getClass().getSuperclass().getDeclaredField("processMap"); field.setAccessible(true); Object obj = field.get(processor); if (obj instanceof Map) { ((Map) obj).remove("echoString"); } // ~ TBinaryProtocol.Factory bFactory = new TBinaryProtocol.Factory(); MultiServiceProcessor wrapper = new MultiServiceProcessor(); wrapper.addProcessor(Demo.class, processor); server = new TThreadPoolServer(new TThreadPoolServer.Args(serverTransport).inputProtocolFactory(bFactory) .outputProtocolFactory(bFactory).inputTransportFactory(getTransportFactory()) .outputTransportFactory(getTransportFactory()).processor(wrapper)); Thread startTread = new Thread() { @Override public void run() { server.serve(); } }; startTread.start(); while (!server.isServing()) { Thread.sleep(100); } }
From source file:com.alibaba.jstorm.yarn.server.AMServer.java
License:Apache License
public void simple(JstormAM.Processor processor) { try {/* w w w. j a va2s . c o m*/ TServerTransport serverTransport = new TServerSocket(port); TServer server = new TThreadPoolServer( new TThreadPoolServer.Args(serverTransport).processor(processor)); LOG.info("Starting the simple server..."); server.serve(); } catch (Exception e) { e.printStackTrace(); } }
From source file:com.baifendian.swordfish.common.utils.ThriftUtil.java
License:Apache License
public static TServer getTThreadPoolServer(TProtocolFactory protocolFactory, TProcessor processor, TTransportFactory transportFactory, InetSocketAddress inetSocketAddress, int minWorkerThreads, int maxWorkerThreads) throws TTransportException { TServerTransport serverTransport = new TServerSocket(inetSocketAddress); TThreadPoolServer.Args serverArgs = new TThreadPoolServer.Args(serverTransport); serverArgs.minWorkerThreads(minWorkerThreads); serverArgs.maxWorkerThreads(maxWorkerThreads); serverArgs.processor(processor);/*from w w w.ja v a 2 s . c om*/ serverArgs.transportFactory(transportFactory); serverArgs.protocolFactory(protocolFactory); return new TThreadPoolServer(serverArgs); }
From source file:com.bendb.thrifty.testing.TestServer.java
License:Apache License
private TServer startBlockingServer(TProcessor processor, TProtocolFactory protocolFactory) { TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverTransport).processor(processor) .protocolFactory(protocolFactory); return new TThreadPoolServer(args); }
From source file:com.bfd.harpc.server.thrift.TServerThread.java
License:Apache License
/** * @param processor//from w w w.j ava 2s . c om * {@link TProcessor} * @param serverNode * {@link ServerNode} * @param maxWorkerThreads * * @param minWorkerThreads * ? * @param monitor * {@link RpcMonitor} * @throws RpcException */ public TServerThread(TProcessor processor, ServerNode serverNode, int maxWorkerThreads, int minWorkerThreads, RpcMonitor monitor) throws RpcException { TServerSocket serverTransport; try { serverTransport = new TServerSocket(serverNode.getPort()); } catch (TTransportException e) { throw new RpcException(RpcException.NETWORK_EXCEPTION, e); } Factory portFactory = new TBinaryProtocol.Factory(true, true); Args args = new Args(serverTransport); args.processor(processor); args.protocolFactory(portFactory); args.maxWorkerThreads(maxWorkerThreads); args.minWorkerThreads(minWorkerThreads); server = new TThreadPoolServer(args); server.setServerEventHandler(new ThriftEventHandler(monitor, serverNode)); setName("Harpc-Thrift-Server"); }
From source file:com.bfd.harpc.test.thrift.ThriftTest.java
License:Apache License
public static void main(String[] args) throws InterruptedException { TServerSocket serverTransport;/*from ww w. j av a2s . c o m*/ try { serverTransport = new TServerSocket(19091); } catch (TTransportException e) { throw new RpcException(RpcException.NETWORK_EXCEPTION, e); } Factory portFactory = new TBinaryProtocol.Factory(true, true); Args arg = new Args(serverTransport); Iface echoService = new EchoServiceImpl(); TProcessor processor = new EchoService.Processor<Iface>(echoService); arg.processor(processor); arg.protocolFactory(portFactory); arg.maxWorkerThreads(100); // ?? arg.minWorkerThreads(10); TServer server = new TThreadPoolServer(arg); new TServerThread(server).start(); while (true) { System.out.println(server.isServing()); Thread.sleep(1000); } }
From source file:com.bustleandflurry.camel.component.scribe.ScribeConsumer.java
License:Apache License
private static void scribeServer(Scribe.Processor scribeProcessor, InetSocketAddress inetSocketAddress) throws Exception { try {// ww w .j a v a 2s . c om TServerSocket tServerSocket = new TServerSocket(inetSocketAddress); TServer server = new TThreadPoolServer(new TThreadPoolServer.Args(tServerSocket) .processor(scribeProcessor).protocolFactory(new TBinaryProtocol.Factory()) .transportFactory(new TFramedTransport.Factory())); server.serve(); } catch (TTransportException e) { throw e; } }
From source file:com.cinchapi.concourse.server.ConcourseServer.java
License:Apache License
/** * Initialize this instance. This method MUST always be called after * constructing the instance./* www.jav a 2s.c o m*/ * * @param port - the port on which to listen for client connections * @param bufferStore - the location to store {@link Buffer} files * @param dbStore - the location to store {@link Database} files * @throws TTransportException */ private void init(int port, String bufferStore, String dbStore) throws TTransportException { Preconditions.checkState(!bufferStore.equalsIgnoreCase(dbStore), "Cannot store buffer and database files in the same directory. " + "Please check concourse.prefs."); Preconditions.checkState(!Strings.isNullOrEmpty(Environments.sanitize(DEFAULT_ENVIRONMENT)), "Cannot initialize " + "Concourse Server with a default environment of " + "'%s'. Please use a default environment name that " + "contains only alphanumeric characters.", DEFAULT_ENVIRONMENT); FileSystem.mkdirs(bufferStore); FileSystem.mkdirs(dbStore); FileSystem.lock(bufferStore); FileSystem.lock(dbStore); TServerSocket socket = new TServerSocket(port); ConcourseService.Processor<Iface> processor = new ConcourseService.Processor<Iface>(this); Args args = new TThreadPoolServer.Args(socket); args.processor(processor); args.maxWorkerThreads(NUM_WORKER_THREADS); args.executorService(Executors .newCachedThreadPool(new ThreadFactoryBuilder().setNameFormat("Client Worker" + " %d").build())); this.server = new TThreadPoolServer(args); this.bufferStore = bufferStore; this.dbStore = dbStore; this.engines = Maps.newConcurrentMap(); this.accessManager = AccessManager.create(ACCESS_FILE); this.httpServer = GlobalState.HTTP_PORT > 0 ? HttpServer.create(this, GlobalState.HTTP_PORT) : HttpServer.disabled(); getEngine(); // load the default engine this.plugins = new PluginManager(GlobalState.CONCOURSE_HOME + File.separator + "plugins"); }
From source file:com.cloudera.beeswax.Server.java
License:Apache License
/** * Start the Beeswax server.//from ww w. ja va 2 s. co m */ private static void serveBeeswax(int port) throws TTransportException { TServerTransport serverTransport = new TServerSocket(port); BeeswaxService.Iface impl = new BeeswaxServiceImpl(dtHost, dtPort, dtHttps, qlifetime); Processor processor = new BeeswaxService.Processor(impl); TTransportFactory transFactory; if (useKerberos) { final String names[] = SaslRpcServer.splitKerberosName(kerberosName); if (names.length < 2) { throw new IllegalArgumentException( "Kerberos principal should have at least 2 parts: " + kerberosName); } TSaslServerTransport.Factory saslFactory = new TSaslServerTransport.Factory( AuthMethod.KERBEROS.getMechanismName(), names[0], names[1], // two parts of kerberos principal SaslRpcServer.SASL_PROPS, new SaslRpcServer.SaslGssCallbackHandler()); transFactory = new KbrSaslTransportFactory(saslFactory, bwUgi); } else { transFactory = new TTransportFactory(); } TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverTransport).processor(processor) .protocolFactory(new TBinaryProtocol.Factory()).transportFactory(transFactory); TServer server = new TThreadPoolServer(args); if (dtPort != -1) { LOG.info("Starting beeswax server on port " + port + ", talking back to Desktop at " + dtHost + ":" + dtPort); } else { LOG.info("Starting beeswax server on port " + port); } server.serve(); }
From source file:com.cloudera.beeswax.Server.java
License:Apache License
/** * Start the thrift metastore server.//from w ww . j a va 2s .co m * * Mostly borrowed from org.apache.hadoop.hive.metastore.HiveMetaStore. */ public static void serveMeta(int port) throws MetaException, TTransportException { // Verify that we're supposed to run an internal metastore. HiveConf conf = new HiveConf(Driver.class); if (!conf.getBoolean("hive.metastore.local", true)) { String msg = "hive.metastore.local is set to false. The Beeswax internal metastore " + "is not supposed to run."; LOG.fatal(msg); System.exit(1); } TServerTransport serverTransport = new TServerSocket(port); Iface handler = new HMSHandler("new db based metaserver"); FacebookService.Processor processor = new ThriftHiveMetastore.Processor(handler); TThreadPoolServer.Args args = new TThreadPoolServer.Args(serverTransport).processor(processor) .protocolFactory(new TBinaryProtocol.Factory()).transportFactory(new TTransportFactory()); TServer server = new TThreadPoolServer(args); HMSHandler.LOG.info("Started the new metaserver on port [" + port + "]..."); HMSHandler.LOG.info("minWorkerThreads = " + args.minWorkerThreads); HMSHandler.LOG.info("maxWorkerThreads = " + args.maxWorkerThreads); server.serve(); }