You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by fh...@apache.org on 2006/12/15 02:58:57 UTC

svn commit: r487423 - in /tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport: ReceiverBase.java nio/NioReceiver.java

Author: fhanik
Date: Thu Dec 14 17:58:56 2006
New Revision: 487423

URL: http://svn.apache.org/viewvc?view=rev&rev=487423
Log:
Make sure we use an unbounded thread pool until we have implemented some sort of rejection policy.
No need to wake up the selector more than once, it is only serviced by one thread

Modified:
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
    tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java?view=diff&rev=487423&r1=487422&r2=487423
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/ReceiverBase.java Thu Dec 14 17:58:56 2006
@@ -19,7 +19,6 @@
 import java.net.InetAddress;
 import java.net.InetSocketAddress;
 import java.net.ServerSocket;
-import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.LinkedBlockingQueue;
 import java.util.concurrent.ThreadPoolExecutor;
@@ -63,7 +62,7 @@
     private long tcpSelectorTimeout = 5000;
     //how many times to search for an available socket
     private int autoBind = 100;
-    private int maxThreads = 15;
+    private int maxThreads = Integer.MAX_VALUE;
     private int minThreads = 6;
     private int maxTasks = 100;
     private int minTasks = 10;
@@ -77,7 +76,7 @@
     private int timeout = 3000; //3 seconds
     private boolean useBufferPool = true;
     
-    private Executor executor;
+    private ExecutorService executor;
 
 
     public ReceiverBase() {
@@ -90,7 +89,8 @@
     }
     
     public void stop() {
-        if ( executor instanceof ExecutorService ) ((ExecutorService)executor).shutdown();
+        if ( executor != null ) executor.shutdownNow();//ignore left overs
+        executor = null;
     }
     
     /**
@@ -362,7 +362,7 @@
         return maxTasks;
     }
 
-    public Executor getExecutor() {
+    public ExecutorService getExecutor() {
         return executor;
     }
 
@@ -472,7 +472,7 @@
         this.maxTasks = maxTasks;
     }
 
-    public void setExecutor(Executor executor) {
+    public void setExecutor(ExecutorService executor) {
         this.executor = executor;
     }
 

Modified: tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java
URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java?view=diff&rev=487423&r1=487422&r2=487423
==============================================================================
--- tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java (original)
+++ tomcat/tc6.0.x/trunk/java/org/apache/catalina/tribes/transport/nio/NioReceiver.java Thu Dec 14 17:58:56 2006
@@ -313,13 +313,10 @@
      * @see org.apache.catalina.tribes.transport.ClusterReceiverBase#stopListening()
      */
     protected void stopListening() {
-        // Bugzilla 37529: http://issues.apache.org/bugzilla/show_bug.cgi?id=37529
         setListen(false);
         if (selector != null) {
             try {
-                for (int i = 0; i < getMaxThreads(); i++) {
-                    selector.wakeup();
-                }
+                selector.wakeup();
                 selector.close();
             } catch (Exception x) {
                 log.error("Unable to close cluster receiver selector.", x);



---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org