Author: uswick
Date: Sun Jul 13 18:14:59 2014
New Revision: 1610262

URL: http://svn.apache.org/r1610262
Log:
avoid sync overhead each time null is checked - use double checked locking

Modified:
    
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java

Modified: 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java
URL: 
http://svn.apache.org/viewvc/synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java?rev=1610262&r1=1610261&r2=1610262&view=diff
==============================================================================
--- 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java
 (original)
+++ 
synapse/trunk/java/modules/transports/core/nhttp/src/main/java/org/apache/synapse/transport/passthru/connections/TargetConnections.java
 Sun Jul 13 18:14:59 2014
@@ -205,16 +205,16 @@ public class TargetConnections {
 
     private HostConnections getConnectionPool(String host, int port) {
         String key = host + ":" + port;
-        HostConnections pool;
-        synchronized (poolMap) {
-            // see weather a pool already exists for this host:port
-            pool = poolMap.get(key);
-            if (pool == null) {
-                pool = new HostConnections(host, port, maxConnections);
-                poolMap.put(key, pool);
+        if (!poolMap.containsKey(key)) {
+            synchronized (poolMap) {
+                // see weather a pool already exists for this host:port
+                if (!poolMap.containsKey(key)) {
+                    HostConnections pool = new HostConnections(host, port, 
maxConnections);
+                    poolMap.put(key, pool);
+                }
             }
         }
-        return pool;
+        return poolMap.get(key);
     }
 
 }


Reply via email to