From 1ba9c4316ed7e368f8d0c32e71a6f2fde5669d77 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.
---
opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java | 21 ++++++++++++++-------
1 files changed, 14 insertions(+), 7 deletions(-)
diff --git a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
index 6d4ac1f..d3541b8 100644
--- a/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
+++ b/opendj-sdk/opends/src/guitools/org/opends/guitools/controlpanel/task/DeleteEntryTask.java
@@ -367,17 +367,24 @@
ctx.search(Utilities.getJNDIName(dnToRemove.toString()), filter, ctls);
DN entryDNFound = dnToRemove;
- while (entryDNs.hasMore())
+ try
{
- SearchResult sr = entryDNs.next();
- if (!sr.getName().equals(""))
+ while (entryDNs.hasMore())
{
- CustomSearchResult res =
- new CustomSearchResult(sr, dnToRemove.toString());
- entryDNFound = DN.decode(res.getDN());
- deleteSubtreeRecursively(ctx, entryDNFound, null, toNotify);
+ SearchResult sr = entryDNs.next();
+ if (!sr.getName().equals(""))
+ {
+ CustomSearchResult res =
+ new CustomSearchResult(sr, dnToRemove.toString());
+ entryDNFound = DN.decode(res.getDN());
+ deleteSubtreeRecursively(ctx, entryDNFound, null, toNotify);
+ }
}
}
+ finally
+ {
+ entryDNs.close();
+ }
} catch (NameNotFoundException nnfe) {
// The entry is not there: it has been removed
--
Gitblit v1.10.0