Add some more TThreadPoolServer constructors
authorMark Slee <mcslee@apache.org>
Tue, 15 Jan 2008 02:59:12 +0000 (02:59 +0000)
committerMark Slee <mcslee@apache.org>
Tue, 15 Jan 2008 02:59:12 +0000 (02:59 +0000)
Summary: Change the default to Executors.newCachedThreadPool() which is a good default and basically what we should always want.

Reviewed By: dreiss

Test Plan: Run a Java server with default args

git-svn-id: https://svn.apache.org/repos/asf/incubator/thrift/trunk@665424 13f79535-47bb-0310-9956-ffa450edef68

lib/java/src/server/TThreadPoolServer.java

index 343af6b..d1b5e09 100644 (file)
@@ -18,6 +18,7 @@ import com.facebook.thrift.transport.TTransportException;
 import com.facebook.thrift.transport.TTransportFactory;
 
 import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
 import java.util.concurrent.SynchronousQueue;
 import java.util.concurrent.ThreadPoolExecutor;
 import java.util.concurrent.TimeUnit;
@@ -52,16 +53,14 @@ public class TThreadPoolServer extends TServer {
                            TServerTransport serverTransport) {
     this(processor, serverTransport,
          new TTransportFactory(), new TTransportFactory(),
-         new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(),
-         new Options());
+         new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory());
   }
 
   public TThreadPoolServer(TProcessorFactory processorFactory,
-          TServerTransport serverTransport) {
+                           TServerTransport serverTransport) {
     this(processorFactory, serverTransport,
          new TTransportFactory(), new TTransportFactory(),
-         new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory(),
-         new Options());
+         new TBinaryProtocol.Factory(), new TBinaryProtocol.Factory());
   }
 
   public TThreadPoolServer(TProcessor processor,
@@ -69,8 +68,7 @@ public class TThreadPoolServer extends TServer {
                            TProtocolFactory protocolFactory) {
     this(processor, serverTransport,
          new TTransportFactory(), new TTransportFactory(),
-         protocolFactory, protocolFactory,
-         new Options());
+         protocolFactory, protocolFactory);
   }
 
   public TThreadPoolServer(TProcessor processor,
@@ -79,20 +77,41 @@ public class TThreadPoolServer extends TServer {
                            TProtocolFactory protocolFactory) {
     this(processor, serverTransport,
          transportFactory, transportFactory,
-         protocolFactory, protocolFactory,
-         new Options());
+         protocolFactory, protocolFactory);
   }
 
   public TThreadPoolServer(TProcessorFactory processorFactory,
-          TServerTransport serverTransport,
-          TTransportFactory transportFactory,
-          TProtocolFactory protocolFactory) {
+                           TServerTransport serverTransport,
+                           TTransportFactory transportFactory,
+                           TProtocolFactory protocolFactory) {
     this(processorFactory, serverTransport,
          transportFactory, transportFactory,
-         protocolFactory, protocolFactory,
-         new Options());
+         protocolFactory, protocolFactory);
   }
 
+  public TThreadPoolServer(TProcessor processor,
+                           TServerTransport serverTransport,
+                           TTransportFactory inputTransportFactory,
+                           TTransportFactory outputTransportFactory,
+                           TProtocolFactory inputProtocolFactory,
+                           TProtocolFactory outputProtocolFactory) {
+    this(new TProcessorFactory(processor), serverTransport,
+         inputTransportFactory, outputTransportFactory,
+         inputProtocolFactory, outputProtocolFactory);
+  }
+
+  public TThreadPoolServer(TProcessorFactory processorFactory,
+                           TServerTransport serverTransport,
+                           TTransportFactory inputTransportFactory,
+                           TTransportFactory outputTransportFactory,
+                           TProtocolFactory inputProtocolFactory,
+                           TProtocolFactory outputProtocolFactory) {
+    super(processorFactory, serverTransport,
+          inputTransportFactory, outputTransportFactory,
+          inputProtocolFactory, outputProtocolFactory);
+    options_ = new Options();
+    executorService_ = Executors.newCachedThreadPool();
+  }
 
   public TThreadPoolServer(TProcessor processor,
           TServerTransport serverTransport,