From 66c1a80d263b71195a525d1c1fdd59e464a606ae Mon Sep 17 00:00:00 2001
From: ludovicp <ludovicp@localhost>
Date: Fri, 20 Aug 2010 13:39:26 +0000
Subject: [PATCH] Fix all command lines that are doing Searches with JNDI, to avoid them sending systematic Abandon requests.
---
opends/src/server/org/opends/server/admin/client/ldap/JNDIDirContextAdaptor.java | 11 +++++++----
1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/opends/src/server/org/opends/server/admin/client/ldap/JNDIDirContextAdaptor.java b/opends/src/server/org/opends/server/admin/client/ldap/JNDIDirContextAdaptor.java
index 7df97bf..bbe90b8 100644
--- a/opends/src/server/org/opends/server/admin/client/ldap/JNDIDirContextAdaptor.java
+++ b/opends/src/server/org/opends/server/admin/client/ldap/JNDIDirContextAdaptor.java
@@ -228,17 +228,20 @@
*/
@Override
public boolean entryExists(LdapName dn) throws NamingException {
+ boolean entryExists = false;
String filter = "(objectClass=*)";
SearchControls controls = new SearchControls();
controls.setSearchScope(SearchControls.OBJECT_SCOPE);
-
+ controls.setReturningAttributes(new String[]{"1.1"});
try {
NamingEnumeration<SearchResult> results = dirContext.search(dn, filter,
controls);
try
{
- if (results.hasMore()) {
- return true;
+ while (results.hasMore()) {
+ // To avoid having a systematic abandon in the server.
+ results.next();
+ entryExists = true;
}
}
finally
@@ -248,7 +251,7 @@
} catch (NameNotFoundException e) {
// Fall through - entry not found.
}
- return false;
+ return entryExists;
}
--
Gitblit v1.10.0