From 9d6f5c9a5b7771e595892e6935cf1cc42012c4c6 Mon Sep 17 00:00:00 2001
From: boli <boli@localhost>
Date: Tue, 22 Dec 2009 21:37:36 +0000
Subject: [PATCH] Fixed some bugs with the connection pool.  Moved heart beat back to heart beat connection factory from isValid method.

---
 sdk/src/com/sun/opends/sdk/ldap/LDAPConnection.java |   42 +++++++-----------------------------------
 1 files changed, 7 insertions(+), 35 deletions(-)

diff --git a/sdk/src/com/sun/opends/sdk/ldap/LDAPConnection.java b/sdk/src/com/sun/opends/sdk/ldap/LDAPConnection.java
index 9e9f8f1..4f6c80e 100644
--- a/sdk/src/com/sun/opends/sdk/ldap/LDAPConnection.java
+++ b/sdk/src/com/sun/opends/sdk/ldap/LDAPConnection.java
@@ -37,7 +37,9 @@
 import java.io.IOException;
 import java.net.InetSocketAddress;
 import java.util.List;
-import java.util.concurrent.*;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArrayList;
+import java.util.concurrent.ExecutionException;
 import java.util.concurrent.atomic.AtomicInteger;
 
 import javax.net.ssl.SSLContext;
@@ -59,7 +61,7 @@
 import com.sun.grizzly.ssl.*;
 import com.sun.grizzly.streams.StreamWriter;
 import com.sun.opends.sdk.util.Validator;
-import com.sun.opends.sdk.util.StaticUtils;
+
 
 
 /**
@@ -664,8 +666,6 @@
 
   private final Object writeLock = new Object();
 
-  private final SearchRequest pingRequest;
-
   /**
    * Creates a new LDAP connection.
    *
@@ -676,22 +676,18 @@
    * @param schema
    *          The schema which will be used to decode responses from the
    *          server.
-   * @param pingRequest
-   *          The search request to use to verify the validity of
-   *          this connection.
    * @param connFactory
    *          The associated connection factory.
    */
   LDAPConnection(com.sun.grizzly.Connection<?> connection,
       InetSocketAddress serverAddress, Schema schema,
-      SearchRequest pingRequest, LDAPConnectionFactoryImpl connFactory)
+      LDAPConnectionFactoryImpl connFactory)
   {
     this.connection = connection;
     this.serverAddress = serverAddress;
     this.schema = schema;
     this.connFactory = connFactory;
     this.streamWriter = getFilterChainStreamWriter();
-    this.pingRequest = pingRequest;
   }
 
 
@@ -1345,17 +1341,13 @@
 
 
   private void close(UnbindRequest unbindRequest,
-                     boolean isDisconnectNotification, Result reason)
+      boolean isDisconnectNotification, Result reason)
   {
     boolean notifyClose = false;
     boolean notifyErrorOccurred = false;
 
     synchronized (writeLock)
     {
-      if(reason == null && unbindRequest == null)
-      {
-        System.out.println("Something is wrong!");
-      }
       if (isClosed)
       {
         // Already closed.
@@ -1503,27 +1495,7 @@
    */
   public boolean isValid()
   {
-    if(!isClosed && connectionInvalidReason == null)
-    {
-      try
-      {
-        search(pingRequest, null, null).get(5, TimeUnit.SECONDS);
-        return true;
-      }
-      catch (ErrorResultException e)
-      {
-        StaticUtils.DEBUG_LOG.warning("Validity check returned error: " +
-                                      e.getResult());
-      }
-      catch (TimeoutException e)
-      {
-        StaticUtils.DEBUG_LOG.warning("Validity check timed out");
-      }
-      catch (InterruptedException e)
-      {
-      }
-    }
-    return false;
+    return connectionInvalidReason == null && !isClosed;
   }
   //
   //

--
Gitblit v1.10.0