javax.naming.CommunicationException:连接重置[Root exception is java.net.SocketException:Connection reset];剩余名称

时间:2015-12-22 02:18:08

标签: ldap java-8 socketexception connection-reset

我尝试连接LDAP时遇到套接字异常。这是我的示例代码。我在java 8中看到了这个问题。我从未在早期的java版本中看到过这个问题。

public static DirContext getDirectoryContext() throws NamingException {

        Properties env = new Properties();
        env.put(Context.INITIAL_CONTEXT_FACTORY,
                Common.getProperty("ldap.context.factory"));
        env.put(Context.PROVIDER_URL,
                Common.getProperty("ldap.provider.url"));
        env.put(Context.SECURITY_AUTHENTICATION,
                Common.getProperty("ldap.security.authentication"));
        env.put(Context.SECURITY_PRINCIPAL,
                Common.getProperty("ldap.security.principal"));
        env.put(Context.SECURITY_CREDENTIALS,
                Common.getProperty("ldap.security.credential"));
        context = new InitialDirContext(env);
        log.debug("NamingContext Initialized");
    return context;
}
context = getDirectoryContext();

我对所有LDAP调用使用相同的上下文。

private NamingEnumeration getResultsFromLdap(String searchFilter) {
    NamingEnumeration results = null;
    try {
        // Getting the list from LDAP matching the given filter
        SearchControls sControls = new SearchControls();
        sControls.setSearchScope(SearchControls.SUBTREE_SCOPE);
        String baseContext = Common.getProperty("ldap.base.context");
        results = context.search(baseContext, searchFilter, sControls);
        } catch (Exception e) {
        log.error("EXCEPTION IN getLDAPConnection METHOD, searchFilter : "
            + searchFilter + " : Exception Message : " + e.getMessage());
        }
        return results;
} // End of getLDAPConnection_SearchResults

有人可以帮忙吗?

0 个答案:

没有答案