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.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();
}