package com.twitter.common.examples.pingpong_thrift.client; import java.util.logging.Logger; import org.apache.thrift.TException; import org.apache.thrift.protocol.TBinaryProtocol; import org.apache.thrift.protocol.TProtocol; import org.apache.thrift.transport.TSocket; import org.apache.thrift.transport.TTransport; import org.apache.thrift.transport.TTransportException; import com.twitter.common.application.AbstractApplication; import com.twitter.common.application.AppLauncher; import com.twitter.common.args.Arg; import com.twitter.common.args.CmdLine; import com.twitter.common.examples.pingpong.PingPong; public class PingPongClient extends AbstractApplication { private static final Logger LOG = Logger.getLogger(PingPongClient.class.getName()); @CmdLine(name = "thrift_port", help = "Server thrift port number.") private static final Arg<Integer> THRIFT_PORT = Arg.create(9090); @Override public void run() { TTransport transport = new TSocket("localhost", THRIFT_PORT.get()); try { transport.open(); } catch (TTransportException e) { throw new RuntimeException(e); } TProtocol protocol = new TBinaryProtocol(transport); PingPong.Client client = new PingPong.Client(protocol); try { LOG.info("Pinging..."); LOG.info(client.ping()); } catch (TException e) { throw new RuntimeException(e); } } public static void main(String[] args) { AppLauncher.launch(PingPongClient.class, args); } }