From 43a8d886b8ab0da2358cd1ddc820cd5e5c06478f Mon Sep 17 00:00:00 2001
From: floblanc <floblanc@localhost>
Date: Thu, 30 Oct 2008 09:38:44 +0000
Subject: [PATCH] Fix Issue 3540: Network Group: Uncaught java.lang.OutOfMemoryError while looping on calling dsconfig setting config properties
---
opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java | 12 +++++++++++-
1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java b/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
index 04a5d17..6ed1ed7 100644
--- a/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
+++ b/opends/src/server/org/opends/server/core/networkgroups/ResourceLimits.java
@@ -87,6 +87,9 @@
// The lock for the counter numConnections and the map connectionsPerIpMap
Object connMutex = new Object();
+ // The current configuration
+ private NetworkGroupResourceLimitsCfg config = null;
+
/**
* Constructor.
*
@@ -111,6 +114,10 @@
numConnections = 0;
connectionsPerIpMap = new HashMap<String, Integer>();
isConfigured = false;
+ if (config != null) {
+ config.removeChangeListener(this);
+ config = null;
+ }
}
/**
@@ -131,7 +138,10 @@
minSearchSubstringLength = resourcesCfg.getMinSubstringLength();
connectionsPerIpMap = new HashMap<String, Integer>();
- resourcesCfg.addChangeListener(this);
+ if (config == null) {
+ resourcesCfg.addChangeListener(this);
+ }
+ config = resourcesCfg;
isConfigured = true;
} else {
resetLimits();
--
Gitblit v1.10.0