Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Ldaptemplate搜索返回相同条目的正确次数_Java_Ldap - Fatal编程技术网

Java Ldaptemplate搜索返回相同条目的正确次数

Java Ldaptemplate搜索返回相同条目的正确次数,java,ldap,Java,Ldap,我一直在努力搜索LDAP目录中的所有用户。当我执行搜索时,它返回到我在目录中的正确条目数,但它是同一条目(最后一个)的所有重复项。我似乎不明白这是为什么。以下是我的一些代码片段: 实际执行搜索的函数: public List<User> getAllUsers(){ AndFilter filter = new AndFilter(); filter.and(new EqualsFilter("objectclass", "person")); List<

我一直在努力搜索LDAP目录中的所有用户。当我执行搜索时,它返回到我在目录中的正确条目数,但它是同一条目(最后一个)的所有重复项。我似乎不明白这是为什么。以下是我的一些代码片段:

实际执行搜索的函数:

public List<User> getAllUsers(){
    AndFilter filter = new AndFilter();
    filter.and(new EqualsFilter("objectclass", "person"));
    List<User> users = ldapTemplate.search(DistinguishedName.EMPTY_PATH,
                            filter.encode(), new UserAttributesMapper());

    return users;
}
我知道mapper可以工作,因为我可以返回一个用户,没有问题,而且工作得很好。我只是不明白为什么它会返回只包含最后一个用户条目的
列表。我的一个想法是在声明中使用
static

User user = (User) AppUtils.getBean("user");
用户类用
@Component(“User”)
进行注释,
getBean
的函数是

public static Object getBean(final String name) {
    if(applicationContext == null) {
        throw new IllegalArgumentException(
                "ApplicationContext is not initialized");
    }
    return applicationContext.getBean(name);

任何帮助都将不胜感激。

显然,您在列表的每个位置都使用了相同的用户对象,因此您会不断更新相同的用户对象,而不是为每个搜索结果创建一个新的用户对象。

我不知道我是如何忽略了如此简单的内容,但谢谢!
public static Object getBean(final String name) {
    if(applicationContext == null) {
        throw new IllegalArgumentException(
                "ApplicationContext is not initialized");
    }
    return applicationContext.getBean(name);