我收到此错误:"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
答案 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