package edu.berkeley.thebes.common.thrift; import org.apache.thrift.TProcessor; import org.apache.thrift.server.TServer; import org.apache.thrift.server.TThreadPoolServer; import org.apache.thrift.transport.TServerSocket; import org.apache.thrift.transport.TServerTransport; import org.apache.thrift.transport.TTransportException; import java.net.InetSocketAddress; public class ThriftServer { /** Starts a new Thrift server on the given bind address with a processor. */ public static void startInCurrentThread(TProcessor processor, InetSocketAddress bindAddress) { try { TServerTransport serverTransport = new TServerSocket(bindAddress); TServer server = new TThreadPoolServer( new TThreadPoolServer.Args(serverTransport).processor(processor)); server.serve(); } catch (TTransportException e) { throw new RuntimeException(e); } } }