From 1050ea9c70d1028b93f3d0784de1b30dd8444226 Mon Sep 17 00:00:00 2001
From: matthew_swift <matthew_swift@localhost>
Date: Wed, 06 May 2009 20:08:02 +0000
Subject: [PATCH] Fix issue 3962: Memory leaks after Bind <op> Unbind

---
 opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java |   26 ++++----------------------
 1 files changed, 4 insertions(+), 22 deletions(-)

diff --git a/opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java b/opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java
index 2a81285..74e28f0 100644
--- a/opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java
+++ b/opends/src/server/org/opends/server/protocols/ldap/LDAPStatistics.java
@@ -22,7 +22,7 @@
  * CDDL HEADER END
  *
  *
- *      Copyright 2006-2008 Sun Microsystems, Inc.
+ *      Copyright 2006-2009 Sun Microsystems, Inc.
  */
 package org.opends.server.protocols.ldap;
 
@@ -36,11 +36,9 @@
 
 import org.opends.messages.Message;
 import org.opends.server.admin.std.server.MonitorProviderCfg;
-import org.opends.server.api.ConnectionHandler;
 import org.opends.server.api.MonitorProvider;
 import org.opends.server.config.ConfigException;
 import org.opends.server.core.DirectoryServer;
-import org.opends.server.monitors.ClientConnectionMonitorProvider;
 import org.opends.server.monitors.OperationMonitor;
 import org.opends.server.types.Attribute;
 import org.opends.server.types.AttributeBuilder;
@@ -122,9 +120,6 @@
   // The instance name for this monitor provider instance.
   private final String instanceName;
 
-  // Connection Handler to which the statistics belong to.
-  private final ConnectionHandler handler;
-
   // Monitor Objects : for Operations.
   private final OperationMonitor addRequestsMonitor =
       OperationMonitor.getOperationMonitor(ADD);
@@ -152,16 +147,12 @@
   /**
    * Creates a new instance of this class with no parent.
    *
-   * @param handler
-   *          to which the stats belong to.
    * @param instanceName
    *          The name for this monitor provider instance.
    */
-  public LDAPStatistics(ConnectionHandler handler, String instanceName)
+  public LDAPStatistics(String instanceName)
   {
-    this(handler, instanceName, null);
-
-    DirectoryServer.registerMonitorProvider(this);
+    this(instanceName, null);
   }
 
 
@@ -169,8 +160,6 @@
   /**
    * Creates a new instance of this class with the specified parent.
    *
-   * @param handler
-   *          the handler to which the stats belong to.
    * @param instanceName
    *          The name for this monitor provider instance.
    * @param parent
@@ -178,14 +167,12 @@
    *          this class is updated. It may be null if there should not
    *          be a parent.
    */
-  public LDAPStatistics(ConnectionHandler handler, String instanceName,
-      LDAPStatistics parent)
+  public LDAPStatistics(String instanceName, LDAPStatistics parent)
   {
     super("LDAP Statistics Monitor Provider");
 
     this.instanceName = instanceName;
     this.parent = parent;
-    this.handler = handler;
 
     abandonLock = new Object();
     connectLock = new Object();
@@ -222,11 +209,6 @@
     searchResultReferences = 0;
     searchResultsDone = 0;
     unbindRequests = 0;
-
-    ClientConnectionMonitorProvider connections =
-        new ClientConnectionMonitorProvider(this.handler);
-
-    DirectoryServer.registerMonitorProvider(connections);
   }
 
 

--
Gitblit v1.10.0