CassandraClient(String hostName, int port, boolean framed) throws TTransportException { TSocket socket = new TSocket(hostName, port); transport = (framed) ? socket : new TFastFramedTransport(socket); transport.open(); client = new Cassandra.Client(new TBinaryProtocol(transport)); try { client.set_cql_version("3.0.0"); } catch (Exception e) { throw new RuntimeException(e); } }
public ThriftTestingSource(String handlerName, int port, String protocol, String keystore, String keystorePassword, String keyManagerType, String keystoreType) throws Exception { TSSLTransportFactory.TSSLTransportParameters params = new TSSLTransportFactory.TSSLTransportParameters(); params.setKeyStore(keystore, keystorePassword, keyManagerType, keystoreType); TServerSocket serverTransport = TSSLTransportFactory.getServerSocket( port, 10000, InetAddress.getByName("0.0.0.0"), params); ThriftSourceProtocol.Iface handler = getHandler(handlerName); Class serverClass = Class.forName("org.apache.thrift" + ".server.TThreadPoolServer"); Class argsClass = Class.forName("org.apache.thrift.server" + ".TThreadPoolServer$Args"); TServer.AbstractServerArgs args = (TServer.AbstractServerArgs) argsClass .getConstructor(TServerTransport.class) .newInstance(serverTransport); Method m = argsClass.getDeclaredMethod("maxWorkerThreads", int.class); m.invoke(args, Integer.MAX_VALUE); TProtocolFactory transportProtocolFactory = null; if (protocol != null && protocol == ThriftRpcClient.BINARY_PROTOCOL) { transportProtocolFactory = new TBinaryProtocol.Factory(); } else { transportProtocolFactory = new TCompactProtocol.Factory(); } args.protocolFactory(transportProtocolFactory); args.inputTransportFactory(new TFastFramedTransport.Factory()); args.outputTransportFactory(new TFastFramedTransport.Factory()); args.processor(new ThriftSourceProtocol.Processor<ThriftSourceProtocol.Iface>(handler)); server = (TServer) serverClass.getConstructor(argsClass).newInstance(args); Executors.newSingleThreadExecutor().submit(new Runnable() { @Override public void run() { server.serve(); } }); }
private void populateServerParams(TServer.AbstractServerArgs args) { //populate the ProtocolFactory args.protocolFactory(getProtocolFactory()); //populate the transportFactory if (enableKerberos) { args.transportFactory(getSASLTransportFactory()); } else { args.transportFactory(new TFastFramedTransport.Factory()); } // populate the Processor args.processor(new ThriftSourceProtocol .Processor<ThriftSourceHandler>(new ThriftSourceHandler())); }
@Suspendable public static void main(String[] args) throws Exception { EchoService.Processor<EchoService.Iface> processor = new EchoService.Processor<EchoService.Iface>(new EchoServiceImpl()); TFiberServerSocket trans = new TFiberServerSocket(new InetSocketAddress(9999)); TFiberServer.Args targs = new TFiberServer.Args(trans, processor) .protocolFactory(new TBinaryProtocol.Factory()) .transportFactory(new TFastFramedTransport.Factory()); TFiberServer server = new TFiberServer(targs); server.serve(); server.join(); }
@Override public EchoResponse execute(long l, EchoRequest echoRequest) throws SuspendExecution, InterruptedException { try { TProtocol proto = new TBinaryProtocol(new TFastFramedTransport(TFiberSocket.open(new InetSocketAddress("localhost", 9999)))); EchoService.Client client = new EchoService.Client(proto); return client.echo(echoRequest); } catch (Exception ex) { LOG.error("failed to echo", ex); throw new RuntimeException(ex); } }
protected TTransport getTransport(TSocket tsocket) throws Exception { return new TFastFramedTransport(tsocket); }