From 3749749fcfc4a3f9821fa8df2c0b93688971628e Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Mon, 31 May 2010 12:48:19 +0000
Subject: [PATCH] Fix for issue #4536. Close JNDI enumerations to avoid unbinding and closing underlying LDAP connection. Fixes in all CLI and control panel.
---
opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java | 26 ++++++++++++++++++++------
1 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java b/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
index 35df024..789d655 100644
--- a/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
+++ b/opends/src/guitools/org/opends/guitools/controlpanel/util/ConfigFromDirContext.java
@@ -826,10 +826,17 @@
javaVersion = null;
numberConnections = -1;
- while (monitorEntries.hasMore())
+ try
{
- SearchResult sr = monitorEntries.next();
- handleMonitoringSearchResult(sr, "cn=monitor");
+ while (monitorEntries.hasMore())
+ {
+ SearchResult sr = monitorEntries.next();
+ handleMonitoringSearchResult(sr, "cn=monitor");
+ }
+ }
+ finally
+ {
+ monitorEntries.close();
}
}
catch (NamingException ne)
@@ -858,10 +865,17 @@
NamingEnumeration<SearchResult> taskEntries =
ctx.search(jndiName, filter, ctls);
- while (taskEntries.hasMore())
+ try
{
- SearchResult sr = taskEntries.next();
- handleTaskSearchResult(sr, ConfigConstants.DN_TASK_ROOT, ts);
+ while (taskEntries.hasMore())
+ {
+ SearchResult sr = taskEntries.next();
+ handleTaskSearchResult(sr, ConfigConstants.DN_TASK_ROOT, ts);
+ }
+ }
+ finally
+ {
+ taskEntries.close();
}
}
catch (NamingException ne)
--
Gitblit v1.10.0