多次运行时,使用java的ldap搜索查询将无法正常工作

时间:2018-06-14 08:40:57

标签: java ldap

我正在使用 InitialLdapContext 来搜索 Ldap 目录。 虽然它表现得很奇怪 - 如果我连续运行1-5次搜索查询,它的工作正常,立即返回一个答案,但是如果我运行它的次数突然没有返回,并挂起直到超时。

但是,如果我尝试通过 Ldap客户端 JXplorer 做同样的事情,它永远不会给我超时..这意味着我的身体有问题代码。

另外,我不确定它是否与我设置的超时有关。我尝试了5秒超时和15秒超时,偶尔它会等待更多。

以下是代码示例:

Hashtable<String,Object> env = new Hashtable<>();
            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL, "my url");
            env.put(Context.SECURITY_AUTHENTICATION, "none");
            env.put("com.sun.jndi.ldap.connect.timeout", "5000");
            InitialLdapContext context = new InitialLdapContext(env,null);
            NamingEnumeration<SearchResult> me = context.search("cn=*,cn=nfs,ou=policy,ou=Service,dc=doo,dc=myorg,dc=com",
                    FILTER_WITH_DEPTH.replace("replaceMe", String.valueOf(4)), getSimpleSearchControls());
            me.hasMore();
            me.close();

我做错了什么?

0 个答案:

没有答案