java ldapsearchexception大小限制超出了setMaxResults

时间:2014-07-08 16:30:51

标签: java size limit unboundid-ldap-sdk

我收到此错误:"LDAPSearchException: size limit exceeded" error并且服务器仅返回500个结果。我们经验丰富的LDAP管理员确信我没有在服务器上设置此限制。事实上,通过在CLI上使用“ldapsearch”,我可以得到超过500个结果。

本文LDAPException Size Limit exceeded中的建议正是我所需要的。但是,当我尝试在LDAPConnection对象(ld.setSearchConstraints(ldsc);)上设置LDAPSearchConstraints对象时,我收到一个编译错误,说该方法不存在:

cannot find symbol
symbol  : method setSearchConstraints(com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPSearchConstraints)
location: class com.unboundid.ldap.sdk.LDAPConnection. 

有人知道为什么这种方法不可用吗?我尝试了unboundid-ldapsdk的不同版本,甚至在我的pom文件中尝试了不同的存储库。或者,如果有人知道如何使用不同的方法检索超过默认搜索结果,请告诉我。

我使用64位linux(版本:“3.2.0-4-amd64”)和Apache Maven 2.2.1(rdebian-8) Java版本:1.6.0_31

1 个答案:

答案 0 :(得分:2)

在查看API后,限制搜索结果的正确方法是

com.unboundid.ldap.sdk.LDAPConnection connection = <some connection>

com.unboundid.ldap.sdk.SearchRequest request = new SearchRequest(<your parameters>);
request.setSizeLimit(<your limit>);

SearchResult result = connection.search(request);

发生编译错误是因为您导入了错误的LDAPConnection。

com.unboundid.ldap.sdk.migrate.ldapjdk.LDAPConnection&lt; - 支持setSearchConstraints

com.unboundid.ldap.sdk.LDAPConnection&lt; - 您正在使用此课程,该课程不支持setSearchConstraints