Author: veithen
Date: Sun Jul  4 12:53:06 2010
New Revision: 960335

URL: http://svn.apache.org/viewvc?rev=960335&view=rev
Log:
Reverted r958718 (related to AXIS2-4751) because this change causes a 
regression in Rampart.

Modified:
    
axis/axis2/java/core/branches/java/1_5/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java

Modified: 
axis/axis2/java/core/branches/java/1_5/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
URL: 
http://svn.apache.org/viewvc/axis/axis2/java/core/branches/java/1_5/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java?rev=960335&r1=960334&r2=960335&view=diff
==============================================================================
--- 
axis/axis2/java/core/branches/java/1_5/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
 (original)
+++ 
axis/axis2/java/core/branches/java/1_5/modules/transport/http/src/org/apache/axis2/transport/http/AbstractHTTPSender.java
 Sun Jul  4 12:53:06 2010
@@ -479,53 +479,35 @@ public abstract class AbstractHTTPSender
     }
 
     protected HttpClient getHttpClient(MessageContext msgContext) {
-        ConfigurationContext configContext = 
msgContext.getConfigurationContext();
-
-        HttpClient httpClient = (HttpClient) 
msgContext.getProperty(HTTPConstants.CACHED_HTTP_CLIENT);
-        if (httpClient == null) {
+        HttpClient httpClient;
+        final ConfigurationContext configContext = 
msgContext.getConfigurationContext();
+        synchronized (lock) {
             httpClient = (HttpClient) 
configContext.getProperty(HTTPConstants.CACHED_HTTP_CLIENT);
-        }
-        if (httpClient != null) {
-            return httpClient;
-        }
-
-        HttpConnectionManager connManager =
-            (HttpConnectionManager) msgContext.getProperty(
-                 HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER);
-        if (connManager == null) {
-            connManager =
-                (HttpConnectionManager) msgContext.getProperty(
-                     HTTPConstants.MUTTITHREAD_HTTP_CONNECTION_MANAGER);
-        }
-        if (connManager == null) {
-            // reuse HttpConnectionManager
-            synchronized (configContext) {
-                connManager = (HttpConnectionManager) 
configContext.getProperty(
-                                   
HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER);
-                if (connManager == null) {
-                    log.trace("Making new ConnectionManager");
-                    connManager = new MultiThreadedHttpConnectionManager();
-                    
configContext.setProperty(HTTPConstants.MULTITHREAD_HTTP_CONNECTION_MANAGER, 
-                                              connManager);
-                }
+            if (httpClient == null) {
+                log.trace("Making new ConnectionManager");
+                HttpConnectionManager connManager = new 
MultiThreadedHttpConnectionManager();
+
+                // In case we need to set any params, do it here, but for now 
use defaults.
+//                HttpConnectionManagerParams params = new 
HttpConnectionManagerParams();
+//                
params.setMaxConnectionsPerHost(HostConfiguration.ANY_HOST_CONFIGURATION, 200);
+//                etc...
+//                connManager.setParams(params);
+
+                httpClient = new HttpClient(connManager);
+                HttpClientParams clientParams = new HttpClientParams();
+                // Set the default timeout in case we have a connection pool 
starvation to 30sec
+                clientParams.setConnectionManagerTimeout(30000);
+                httpClient.setParams(clientParams);
+                configContext.setProperty(HTTPConstants.CACHED_HTTP_CLIENT, 
httpClient);
             }
-        }
-
-        /*
-         * Create a new instance of HttpClient since the way
-         * it is used here it's not fully thread-safe.
-         */
-        httpClient = new HttpClient(connManager);
-
-        // Set the default timeout in case we have a connection pool 
starvation to 30sec
-        httpClient.getParams().setConnectionManagerTimeout(30000);
-
-        // Get the timeout values set in the runtime
-        initializeTimeouts(msgContext, httpClient);
 
+            // Get the timeout values set in the runtime
+            initializeTimeouts(msgContext, httpClient);
+        }
         return httpClient;
     }
 
+    static final Object lock = new Object();
     protected void executeMethod(HttpClient httpClient, MessageContext 
msgContext, URL url,
                                  HttpMethod method) throws IOException {
         HostConfiguration config = this.getHostConfiguration(httpClient, 
msgContext, url);


Reply via email to