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:org.apache.accumulo.server.util.TServerUtils.java

License:Apache License

public static TServer createThreadPoolServer(TServerTransport transport, TProcessor processor) {
    TThreadPoolServer.Args options = new TThreadPoolServer.Args(transport);
    options.protocolFactory(ThriftUtil.protocolFactory());
    options.transportFactory(ThriftUtil.transportFactory());
    options.processorFactory(new ClientInfoProcessorFactory(processor));
    return new TThreadPoolServer(options);
}

From source file:org.apache.accumulo.trace.instrument.TracerTest.java

License:Apache License

@Test
public void testThrift() throws Exception {
    TestReceiver tracer = new TestReceiver();
    Tracer.getInstance().addReceiver(tracer);

    ServerSocket socket = new ServerSocket(0);
    TServerSocket transport = new TServerSocket(socket);
    transport.listen();//from w  w  w  .  ja va  2 s.c om
    TThreadPoolServer.Args args = new TThreadPoolServer.Args(transport);
    args.processor(new Processor<Iface>(TraceWrap.service(new Service())));
    final TServer tserver = new TThreadPoolServer(args);
    Thread t = new Thread() {
        public void run() {
            tserver.serve();
        }
    };
    t.start();
    TTransport clientTransport = new TSocket(new Socket("localhost", socket.getLocalPort()));
    TestService.Iface client = new TestService.Client(new TBinaryProtocol(clientTransport),
            new TBinaryProtocol(clientTransport));
    client = TraceWrap.client(client);
    assertFalse(client.checkTrace(null, "test"));

    Span start = Trace.on("start");
    assertTrue(client.checkTrace(null, "my test"));
    start.stop();

    assertNotNull(tracer.traces.get(start.traceId()));
    String traces[] = { "my test", "checkTrace", "client:checkTrace", "start" };
    assertTrue(tracer.traces.get(start.traceId()).size() == traces.length);
    for (int i = 0; i < traces.length; i++)
        assertEquals(traces[i], tracer.traces.get(start.traceId()).get(i).description);

    tserver.stop();
    t.join(100);
}

From source file:org.apache.accumulo.tracer.TracerTest.java

License:Apache License

@Test
public void testThrift() throws Exception {
    TestReceiver tracer = new TestReceiver();
    org.apache.htrace.Trace.addReceiver(tracer);

    ServerSocket socket = new ServerSocket(0);
    TServerSocket transport = new TServerSocket(socket);
    transport.listen();/*from   w w w . jav  a2  s.c  om*/
    TThreadPoolServer.Args args = new TThreadPoolServer.Args(transport);
    args.processor(new Processor<Iface>(TraceWrap.service(new Service())));
    final TServer tserver = new TThreadPoolServer(args);
    Thread t = new Thread() {
        @Override
        public void run() {
            tserver.serve();
        }
    };
    t.start();
    TTransport clientTransport = new TSocket(new Socket("localhost", socket.getLocalPort()));
    TestService.Iface client = new TestService.Client(new TBinaryProtocol(clientTransport),
            new TBinaryProtocol(clientTransport));
    client = TraceWrap.client(client);
    assertFalse(client.checkTrace(null, "test"));

    Span start = Trace.on("start");
    assertTrue(client.checkTrace(null, "my test"));
    start.stop();

    assertNotNull(tracer.traces.get(start.traceId()));
    String traces[] = { "my test", "checkTrace", "client:checkTrace", "start" };
    assertTrue(tracer.traces.get(start.traceId()).size() == traces.length);
    for (int i = 0; i < traces.length; i++)
        assertEquals(traces[i], tracer.traces.get(start.traceId()).get(i).description);

    tserver.stop();
    t.join(100);
}

From source file:org.apache.accumulo.tracer.TraceServer.java

License:Apache License

public TraceServer(ServerConfigurationFactory serverConfiguration, String hostname) throws Exception {
    this.serverConfiguration = serverConfiguration;
    log.info("Version " + Constants.VERSION);
    log.info("Instance " + serverConfiguration.getInstance().getInstanceID());
    AccumuloConfiguration conf = serverConfiguration.getConfiguration();
    table = conf.get(Property.TRACE_TABLE);
    connector = ensureTraceTableExists(conf);

    int port = conf.getPort(Property.TRACE_PORT);
    final ServerSocket sock = ServerSocketChannel.open().socket();
    sock.setReuseAddress(true);//from  www . j a v  a  2  s . c  o m
    sock.bind(new InetSocketAddress(hostname, port));
    final TServerTransport transport = new TServerSocket(sock);
    TThreadPoolServer.Args options = new TThreadPoolServer.Args(transport);
    options.processor(new Processor<Iface>(new Receiver()));
    server = new TThreadPoolServer(options);
    registerInZooKeeper(sock.getInetAddress().getHostAddress() + ":" + sock.getLocalPort(),
            conf.get(Property.TRACE_ZK_PATH));
    writer = new AtomicReference<>(this.connector.createBatchWriter(table,
            new BatchWriterConfig().setMaxLatency(BATCH_WRITER_MAX_LATENCY, TimeUnit.SECONDS)));
}

From source file:org.apache.airavata.api.server.AiravataAPIServer.java

License:Apache License

public void StartAiravataServer(Airavata.Processor<AiravataServerHandler> mockAiravataServer)
        throws AiravataSystemException {
    try {//from   ww  w .  j a va 2  s.c  o m
        AiravataUtils.setExecutionAsServer();
        RegistryInitUtil.initializeDB();
        final int serverPort = Integer
                .parseInt(ServerSettings.getSetting(Constants.THRIFT_SERVER_PORT, "8930"));
        TServerTransport serverTransport = new TServerSocket(serverPort);
        //server = new TSimpleServer(
        //      new TServer.Args(serverTransport).processor(mockAiravataServer));
        server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(mockAiravataServer));
        new Thread() {
            public void run() {
                server.serve();
                RegistryInitUtil.stopDerbyInServerMode();
                setStatus(ServerStatus.STOPPED);
                logger.info("Airavata API Server Stopped.");
            }
        }.start();
        new Thread() {
            public void run() {
                while (!server.isServing()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        break;
                    }
                }
                if (server.isServing()) {
                    setStatus(ServerStatus.STARTED);
                    logger.info("Starting Airavata API Server on Port " + serverPort);
                    logger.info("Listening to Airavata Clients ....");
                }
            }
        }.start();
    } catch (TTransportException e) {
        logger.error(e.getMessage());
        setStatus(ServerStatus.FAILED);
        RegistryInitUtil.stopDerbyInServerMode();
        throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
    }
}

From source file:org.apache.airavata.api.server.MockAiravataAPIServer.java

License:Apache License

public static void main(String[] args) {
    try {/*from w  ww.ja v  a  2  s  . c om*/
        credentialManagementHandler = new CredentialManagementHandler();
        credentialManagementProcessor = new CredentialManagementService.Processor(credentialManagementHandler);

        gatewayManagementHandler = new GatewayManagementHandler();
        gatewayManagementProcessor = new GatewayManagementService.Processor(gatewayManagementHandler);

        TMultiplexedProcessor airavataServerProcessor = new TMultiplexedProcessor();

        airavataServerProcessor.registerProcessor("CredentialManagementService", credentialManagementProcessor);
        airavataServerProcessor.registerProcessor("GatewayManagementService", gatewayManagementProcessor);

        TServerTransport serverTransport = new TServerSocket(9190);

        TServer server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(airavataServerProcessor));

        System.out.println("Starting Mock Airavata API server...");
        server.serve();

    } catch (Exception x) {
        x.printStackTrace();
    }
}

From source file:org.apache.airavata.api.server.WorkflowServer.java

License:Apache License

public void StartAiravataServer(Workflow.Processor<Workflow.Iface> appCatalogServerHandler)
        throws AiravataSystemException {
    try {/*  w w  w. j  a v  a 2 s.c  o m*/
        AiravataUtils.setExecutionAsServer();
        //            AppCatalogInitUtil.initializeDB();
        final int serverPort = Integer
                .parseInt(ServerSettings.getSetting(Constants.WORKFLOW_SERVER_PORT, "8931"));
        final String serverHost = ServerSettings.getSetting(Constants.WORKFLOW_SERVER_HOST, null);

        TServerTransport serverTransport;

        if (serverHost == null) {
            serverTransport = new TServerSocket(serverPort);
        } else {
            InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
            serverTransport = new TServerSocket(inetSocketAddress);
        }

        server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(appCatalogServerHandler));
        new Thread() {
            public void run() {
                server.serve();
                setStatus(ServerStatus.STOPPED);
                logger.info("Airavata Workflow Server Stopped.");
            }
        }.start();
        new Thread() {
            public void run() {
                while (!server.isServing()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        break;
                    }
                }
                if (server.isServing()) {
                    setStatus(ServerStatus.STARTED);
                    logger.info("Starting Airavata Workflow Server on Port " + serverPort);
                    logger.info("Listening to Workflow API Clients ....");
                }
            }
        }.start();
    } catch (TTransportException e) {
        logger.error(e.getMessage());
        setStatus(ServerStatus.FAILED);
        throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
    }
}

From source file:org.apache.airavata.credential.store.server.CredentialStoreServer.java

License:Apache License

@Override
public void start() throws Exception {
    try {//  w  w w  .  j  a v a 2s. c o  m
        setStatus(ServerStatus.STARTING);
        final int serverPort = Integer.parseInt(ServerSettings.getCredentialStoreServerPort());
        final String serverHost = ServerSettings.getCredentialStoreServerHost();
        CredentialStoreService.Processor processor = new CredentialStoreService.Processor(
                new CredentialStoreServerHandler());

        TServerTransport serverTransport;

        if (serverHost == null) {
            serverTransport = new TServerSocket(serverPort);
        } else {
            InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);
            serverTransport = new TServerSocket(inetSocketAddress);
        }
        TThreadPoolServer.Args options = new TThreadPoolServer.Args(serverTransport);
        options.minWorkerThreads = 30;
        server = new TThreadPoolServer(options.processor(processor));

        new Thread() {
            public void run() {
                server.serve();
                setStatus(ServerStatus.STOPPED);
                logger.info("Credential store Server Stopped.");
            }
        }.start();
        new Thread() {
            public void run() {
                while (!server.isServing()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        break;
                    }
                }
                if (server.isServing()) {
                    setStatus(ServerStatus.STARTED);
                    logger.info("Starting Credential store Server on Port " + serverPort);
                    logger.info("Listening to Credential store clients ....");
                }
            }
        }.start();
    } catch (TTransportException e) {
        setStatus(ServerStatus.FAILED);
        throw new Exception("Error while starting the credential store service", e);
    }
}

From source file:org.apache.airavata.gfac.server.GfacServer.java

License:Apache License

public void StartGfacServer(GfacService.Processor<GfacServerHandler> gfacServerHandlerProcessor)
        throws Exception {
    final int serverPort = Integer.parseInt(ServerSettings.getGFacServerPort());
    try {//from www .  j a  va2  s .c o m
        final String serverHost = ServerSettings.getGfacServerHost();

        InetSocketAddress inetSocketAddress = new InetSocketAddress(serverHost, serverPort);

        TServerTransport serverTransport = new TServerSocket(inetSocketAddress);

        server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(gfacServerHandlerProcessor));

        new Thread() {
            public void run() {
                server.serve();
                setStatus(ServerStatus.STARTING);
                logger.info("Starting Gfac Server ...");
            }
        }.start();
        new Thread() {
            public void run() {
                while (!server.isServing()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        break;
                    }
                }
                if (server.isServing()) {
                    setStatus(IServer.ServerStatus.STARTED);
                    logger.info("Started Gfac Server on Port " + serverPort + " ...");
                }
            }
        }.start();
    } catch (TTransportException e) {
        logger.error(e.getMessage());
        setStatus(IServer.ServerStatus.FAILED);
        logger.error("Failed to start Gfac server on port " + serverPort + " ...");
    }
}

From source file:org.apache.airavata.orchestrator.server.OrchestratorServer.java

License:Apache License

public void StartOrchestratorServer(
        OrchestratorService.Processor<OrchestratorServerHandler> orchestratorServerHandlerProcessor)
        throws Exception {
    try {//www.  j a  v a  2s. com
        final int serverPort = Integer
                .parseInt(ServerSettings.getSetting(Constants.ORCHESTRATOT_SERVER_PORT, "8940"));
        TServerTransport serverTransport = new TServerSocket(serverPort);
        //server = new TSimpleServer(
        //      new TServer.Args(serverTransport).processor(orchestratorServerHandlerProcessor));
        server = new TThreadPoolServer(
                new TThreadPoolServer.Args(serverTransport).processor(orchestratorServerHandlerProcessor));

        new Thread() {
            public void run() {
                server.serve();
                setStatus(ServerStatus.STOPPED);
                logger.info("Orchestrator Server Stopped.");
            }
        }.start();
        new Thread() {
            public void run() {
                while (!server.isServing()) {
                    try {
                        Thread.sleep(500);
                    } catch (InterruptedException e) {
                        break;
                    }
                }
                if (server.isServing()) {
                    setStatus(ServerStatus.STARTED);
                    logger.info("Starting Orchestrator Server on Port " + serverPort);
                    logger.info("Listening to Orchestrator Clients ....");
                }
            }
        }.start();
    } catch (TTransportException e) {
        logger.error(e.getMessage());
        setStatus(ServerStatus.FAILED);
    }
}