1

我有一个使用 LDAP 功能的代码实现。为了获得值,我最初生成了一个 InitialDirContext。我为建立连接设置了 2 秒的超时值。但我可以看到线程等待大约 20 分钟以生成上下文。下面是代码:

设置超时-

env.put("com.sun.jndi.ldap.read.timeout", String.valueOf(2000));
env.put("com.sun.jndi.ldap.connect.timeout", String.valueOf(2000)); 

创建上下文的方法-


DirContext getInitialDirContext(final Hashtable<String, Object> env) throws NamingException {
        final long timeinMillis = System.currentTimeMillis();
        try {
            return new InitialDirContext(env);
        } finally {
            LOGGER.info("Total time taken for creating the LDAP Initial Context in Millis [{}]",
                    System.currentTimeMillis() - timeinMillis);
        }
    }

谁能告诉我为什么超时不起作用。作为一种解决方法,我想一旦时间超过超时限制,我将手动停止执行。有没有人有更好的主意来处理这种情况。

4

0 回答 0