Author: samisa
Date: Sat Dec 18 04:40:57 2010
New Revision: 1050588

URL: http://svn.apache.org/viewvc?rev=1050588&view=rev
Log:
Applied patch to fix problem of Http connection listener terminating when 
request executor full - AXIS2-4800

Modified:
    
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java

Modified: 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java?rev=1050588&r1=1050587&r2=1050588&view=diff
==============================================================================
--- 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java
 (original)
+++ 
axis/axis2/java/core/trunk/modules/transport/http/src/org/apache/axis2/transport/http/server/DefaultConnectionListener.java
 Sat Dec 18 04:40:57 2010
@@ -26,6 +26,11 @@ import org.apache.http.params.HttpParams
 import java.io.IOException;
 import java.net.ServerSocket;
 import java.net.Socket;
+import java.util.concurrent.RejectedExecutionException;
+import org.apache.http.HttpStatus;
+import org.apache.http.HttpVersion;
+import org.apache.http.impl.DefaultHttpResponseFactory;
+import org.apache.http.protocol.BasicHttpContext;
 
 public class DefaultConnectionListener implements IOProcessor {
 
@@ -82,9 +87,14 @@ public class DefaultConnectionListener i
                                 socket.getRemoteSocketAddress());
                     }
                     AxisHttpConnection conn = new 
AxisHttpConnectionImpl(socket, this.params);
-                    this.connmanager.process(conn);
+                    try {
+                        this.connmanager.process(conn);
+                    } catch (RejectedExecutionException e) {
+                        conn.sendResponse(new 
DefaultHttpResponseFactory().newHttpResponse(
+                                HttpVersion.HTTP_1_0, 
HttpStatus.SC_SERVICE_UNAVAILABLE, new BasicHttpContext(null)));
+                    }
                 } catch(java.io.InterruptedIOException ie) {
-                    break; 
+                    break;
                 } catch (Throwable ex) {
                     if (Thread.interrupted()) {
                         break;


Reply via email to