首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Spring :当将countLimit设置为1时,错误代码4-超出了间隔

Spring :当将countLimit设置为1时,错误代码4-超出了间隔
EN

Stack Overflow用户
提问于 2013-05-24 12:04:01
回答 3查看 14.3K关注 0票数 3

使用Spring 1.3.1,我试图读取LDAP的内容,我得到了以下错误:

LDAP:错误代码4-超出了

在搜索了如何限制结果大小之后,我发现SearchControls类对此负责。

所以现在我的代码是这样的:

代码语言:javascript
运行
复制
SearchControls controls = new SearchControls();
controls.setCountLimit(1);
ContextMapper mapper = new ContextMapper() {

    public Object mapFromContext(Object ctx) {
        DirContextAdapter adapter = (DirContextAdapter) ctx;
        Attributes attrs = adapter.getAttributes();
        try {
            return attrs.get("cn").get();
        } catch (NamingException e) {
            e.printStackTrace();
            return null;
        }
    }
};
return ldapTemplate.search("OU=system,DC=de", "(objectclass=person)", controls, mapper);

但是,同样的错误也会抛出。因此,计数限制参数似乎被忽略了(在加载依赖源之后,我无法在Eclipse中找到对getCountLimit()的引用)。

因此,我的问题是,应该如何设置使用Spring的LDAP查询的大小限制?

EN

回答 3

Stack Overflow用户

发布于 2013-05-24 12:26:36

您所指的大小限制是“客户请求的”大小限制。无论客户端将值设置为什么,它都不能覆盖服务器的大小限制资源限制。专业质量的服务器可以在许多方面限制返回条目的数量,也许您的客户已经遇到了其中一个限制。

另请参阅

  • LDAP:搜索最佳实践
票数 1
EN

Stack Overflow用户

发布于 2015-01-09 04:01:18

如果设置了大小限制,服务器将限制对该值的响应数。但是,如果实际上有更多的响应可能已经返回,如果/当您试图迭代超过限制时,您将得到该异常。

引用用于NamingEnumeration的Javadoc

在另一个示例中,如果调用search()方法的指定大小限制为'n‘。如果答案包含“n”以上的结果,search()将首先返回一个NamingEnumeration。当通过调用NamingEnumeration上的next()返回n‘the结果时,将在调用hasMore()时抛出SizeLimitExceedException。

票数 0
EN

Stack Overflow用户

发布于 2016-06-29 11:50:09

1)可以在服务器大小上更改/etc/openldap/slapd.conf中的sizelimit参数。更多信息,您可以在这里找到http://www.ldapadministrator.com/forum/sizelimit-exceeded-problem-t14.html

2)或者可以像eq一样限制查询。在这里将SQL/LDAP查询限制在901行

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16734521

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档