第一个LDAP请求非常慢

时间:2020-04-09 09:58:49

标签: java ldap

我使用以下代码提出LDAP请求。

            env.put(Context.INITIAL_CONTEXT_FACTORY,"com.sun.jndi.ldap.LdapCtxFactory");
            env.put(Context.PROVIDER_URL, ldap.getServer());
            env.put(Context.SECURITY_AUTHENTICATION,"simple");
            env.put(Context.SECURITY_PRINCIPAL,dn); 
            env.put(Context.SECURITY_CREDENTIALS,ldapPassword);  
            if(ssl){
                env.put(Context.SECURITY_PROTOCOL, "ssl");  
                env.put(Context.REFERRAL, "ignore"); 
                //System.setProperty("javax.net.ssl.trustStore",ldap.getTrustStore());
                //System.setProperty("javax.net.ssl.trustStorePassword",ldap.getTrustStorePassword()); 
            }
           LdapContext ctx = new InitialLdapContext(env, null);

问题是,第一个请求大约需要60秒。所有进一步的请求<1秒!

我看到了一条帖子,指出我应该换行

env.put(Context.REFERRAL, "follow"); to env.put(Context.REFERRAL, "ignore");

这不能解决问题。

我发现以下一行是问题所在-这是60秒的延迟!

LdapContext ctx = new InitialLdapContext(env, null);

任何建议将不胜感激。

0 个答案:

没有答案