Thrift multithreaded Java server
Summary: Ported the Pillar multithreaded Java server to Thrift
git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@664791 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/lib/java/src/transport/TServerSocket.java b/lib/java/src/transport/TServerSocket.java
index a885fa1..8a8421d 100644
--- a/lib/java/src/transport/TServerSocket.java
+++ b/lib/java/src/transport/TServerSocket.java
@@ -1,6 +1,7 @@
package com.facebook.thrift.transport;
import java.io.IOException;
+import java.net.InetSocketAddress;
import java.net.ServerSocket;
import java.net.Socket;
@@ -11,12 +12,26 @@
*/
public class TServerSocket extends TServerTransport {
- private ServerSocket serverSocket_;
-
+ private ServerSocket serverSocket_ = null;
+ private int port_ = 0;
+
public TServerSocket(ServerSocket serverSocket) {
serverSocket_ = serverSocket;
}
+ public TServerSocket(int port) throws TTransportException {
+ port_ = port;
+ try {
+ serverSocket_ = new ServerSocket();
+ serverSocket_.setReuseAddress(true);
+ serverSocket_.setSoTimeout(0);
+ serverSocket_.bind(new InetSocketAddress(port_));
+ } catch (IOException ioe) {
+ serverSocket_ = null;
+ throw new TTransportException("Could not create ServerSocket on port " + port + ".");
+ }
+ }
+
public void listen() throws TTransportException {}
protected TSocket acceptImpl() throws TTransportException {