public TServerSocketKeepAlive(TServerSocket serverSocket) throws TTransportException { super(serverSocket.getServerSocket()); }
if (thriftServerSocket.getServerSocket() instanceof SSLServerSocket) { List<String> sslVersionBlacklistLocal = new ArrayList<>(); for (String sslVersion : sslVersionBlacklist) { sslVersionBlacklistLocal.add(sslVersion.trim().toLowerCase()); SSLServerSocket sslServerSocket = (SSLServerSocket) thriftServerSocket.getServerSocket(); List<String> enabledProtocols = new ArrayList<>(); for (String protocol : sslServerSocket.getEnabledProtocols()) {
if (thriftServerSocket.getServerSocket() instanceof SSLServerSocket) { List<String> sslVersionBlacklistLocal = new ArrayList<String>(); for (String sslVersion : sslVersionBlacklist) { sslVersionBlacklistLocal.add(sslVersion.trim().toLowerCase()); SSLServerSocket sslServerSocket = (SSLServerSocket) thriftServerSocket.getServerSocket(); List<String> enabledProtocols = new ArrayList<String>(); for (String protocol : sslServerSocket.getEnabledProtocols()) {
} else { serverTransport = RemoteInterpreterUtils.createTServerSocket(portRange); this.port = serverTransport.getServerSocket().getLocalPort(); this.host = RemoteInterpreterUtils.findAvailableHostAddress(); logger.info("Launching ThriftServer at " + this.host + ":" + this.port);
private TServerTransport getSSLServerTransport() { try { TServerTransport transport; TSSLTransportFactory.TSSLTransportParameters params = new TSSLTransportFactory.TSSLTransportParameters(); params.setKeyStore(getKeystore(), getKeystorePassword(), KeyManagerFactory.getDefaultAlgorithm(), getKeystoreType()); transport = TSSLTransportFactory.getServerSocket( port, 120000, InetAddress.getByName(bindAddress), params); ServerSocket serverSock = ((TServerSocket) transport).getServerSocket(); if (serverSock instanceof SSLServerSocket) { SSLServerSocket sslServerSock = (SSLServerSocket) serverSock; SSLParameters sslParameters = sslServerSock.getSSLParameters(); sslServerSock.setEnabledCipherSuites(getFilteredCipherSuites(sslParameters)); sslServerSock.setEnabledProtocols(getFilteredProtocols(sslParameters)); } return transport; } catch (Throwable throwable) { throw new FlumeException("Cannot start Thrift source.", throwable); } }
final ServerSocket serverSock = tServerSock.getServerSocket(); if (serverSock instanceof SSLServerSocket) { SSLServerSocket sslServerSock = (SSLServerSocket) serverSock;
/** * Creates a TThreadPoolServer for normal unsecure operation. Useful for comparing performance * against SSL or SASL transports. * * @param address * Address to bind to * @param processor * TProcessor for the server * @param maxMessageSize * Maximum size of a Thrift message allowed * @return A configured TThreadPoolServer and its bound address information */ public static ServerAddress createBlockingServer(HostAndPort address, TProcessor processor, TProtocolFactory protocolFactory, long maxMessageSize, String serverName, int numThreads, int numSimpleTimerThreads, long timeBetweenThreadChecks) throws TTransportException { InetSocketAddress isa = new InetSocketAddress(address.getHost(), address.getPort()); // Must use an ISA, providing only a port would ignore the hostname given TServerSocket transport = new TServerSocket(isa); ThreadPoolExecutor pool = createSelfResizingThreadPool(serverName, numThreads, numSimpleTimerThreads, timeBetweenThreadChecks); TThreadPoolServer server = createTThreadPoolServer(transport, processor, ThriftUtil.transportFactory(maxMessageSize), protocolFactory, pool); if (address.getPort() == 0) { address = HostAndPort.fromParts(address.getHost(), transport.getServerSocket().getLocalPort()); log.info("Blocking Server bound on {}", address); } return new ServerAddress(server, address); }
transport.getServerSocket().getLocalPort()); log.info("SSL Thread Pool Server bound on {}", address);
transport.getServerSocket().getLocalPort()); log.info("SASL thrift server bound on {}", address);
public TServerSocketKeepAlive(TServerSocket serverSocket) throws TTransportException { super(serverSocket.getServerSocket()); }
@Override public synchronized int getAddressPort() { if (port == 0) { port = (tServerSocket != null && tServerSocket.getServerSocket().isBound()) ? tServerSocket.getServerSocket().getLocalPort() : 0; } return port; }
@Override public synchronized int getAdminAddressPort() { if (adminPort == 0) { adminPort = (tAdminServerSocket != null && tAdminServerSocket.getServerSocket().isBound()) ? tAdminServerSocket.getServerSocket().getLocalPort() : 0; } return adminPort; }
@Override public synchronized String getAdminAddressHost() { if (adminHostname == null) { adminHostname = (tAdminServerSocket != null && tAdminServerSocket.getServerSocket().isBound()) ? getHostname(tAdminServerSocket.getServerSocket(). getInetAddress().getHostName()) : null; } return adminHostname; }
@Override public synchronized String getAddressHost() { if (hostname == null) { hostname = (tServerSocket != null && tServerSocket.getServerSocket().isBound()) ? getHostname(tServerSocket.getServerSocket(). getInetAddress().getHostName()) : null; } return hostname; }
@Override protected void doStart() throws Exception { super.doStart(); if (server == null) { LOG.debug("Starting the Thrift server"); initializeServer(); server.serve(); LOG.info("Thrift server started and listening on port: {}", asyncServerTransport == null ? syncServerTransport.getServerSocket().getLocalPort() : asyncServerTransport.getPort()); } }
private TServerTransport getSSLServerTransport() { try { TServerTransport transport; TSSLTransportFactory.TSSLTransportParameters params = new TSSLTransportFactory.TSSLTransportParameters(); params.setKeyStore(getKeystore(), getKeystorePassword(), KeyManagerFactory.getDefaultAlgorithm(), getKeystoreType()); transport = TSSLTransportFactory.getServerSocket( port, 120000, InetAddress.getByName(bindAddress), params); ServerSocket serverSock = ((TServerSocket) transport).getServerSocket(); if (serverSock instanceof SSLServerSocket) { SSLServerSocket sslServerSock = (SSLServerSocket) serverSock; SSLParameters sslParameters = sslServerSock.getSSLParameters(); sslServerSock.setEnabledCipherSuites(getFilteredCipherSuites(sslParameters)); sslServerSock.setEnabledProtocols(getFilteredProtocols(sslParameters)); } return transport; } catch (Throwable throwable) { throw new FlumeException("Cannot start Thrift source.", throwable); } }
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 public void run() { thriftServer.serve(); } }.start(); while (!info.server.isServing()) { Thread.sleep(10); } info.port = serverSocket.getServerSocket().getLocalPort(); return info; }
private static int testProcessor(TProcessor processor, List<ToIntFunction<HostAndPort>> clients) throws Exception { try (TServerSocket serverTransport = new TServerSocket(0)) { TProtocolFactory protocolFactory = new TBinaryProtocol.Factory(); TTransportFactory transportFactory = new TFramedTransport.Factory(); TServer server = new TSimpleServer(new Args(serverTransport) .protocolFactory(protocolFactory) .transportFactory(transportFactory) .processor(processor)); Thread serverThread = new Thread(server::serve); try { serverThread.start(); int localPort = serverTransport.getServerSocket().getLocalPort(); HostAndPort address = HostAndPort.fromParts("localhost", localPort); int sum = 0; for (ToIntFunction<HostAndPort> client : clients) { sum += client.applyAsInt(address); } return sum; } finally { server.stop(); serverThread.interrupt(); } } }
private static int testProcessor(TProcessor processor, List<ToIntFunction<HostAndPort>> clients) throws Exception { try (TServerSocket serverTransport = new TServerSocket(0)) { TProtocolFactory protocolFactory = new TBinaryProtocol.Factory(); TTransportFactory transportFactory = new TFramedTransport.Factory(); TServer server = new TSimpleServer(new Args(serverTransport) .protocolFactory(protocolFactory) .transportFactory(transportFactory) .processor(processor)); Thread serverThread = new Thread(server::serve); try { serverThread.start(); int localPort = serverTransport.getServerSocket().getLocalPort(); HostAndPort address = HostAndPort.fromParts("localhost", localPort); int sum = 0; for (ToIntFunction<HostAndPort> client : clients) { sum += client.applyAsInt(address); } return sum; } finally { server.stop(); serverThread.interrupt(); } } }
private static int testProcessor(TProcessor processor, List<ToIntFunction<HostAndPort>> clients) throws Exception { try (TServerSocket serverTransport = new TServerSocket(0)) { TProtocolFactory protocolFactory = new Factory(); TTransportFactory transportFactory = new TFramedTransport.Factory(); TServer server = new TSimpleServer(new Args(serverTransport) .protocolFactory(protocolFactory) .transportFactory(transportFactory) .processor(processor)); Thread serverThread = new Thread(server::serve); try { serverThread.start(); int localPort = serverTransport.getServerSocket().getLocalPort(); HostAndPort address = HostAndPort.fromParts("localhost", localPort); int sum = 0; for (ToIntFunction<HostAndPort> client : clients) { sum += client.applyAsInt(address); } return sum; } finally { server.stop(); serverThread.interrupt(); } } }