我们面临一个问题,我们有在 JDK 6 中编译的代码库。现在我们正在迁移到 JRE-7,这最终意味着我们正在使用 JRE -7 运行在 JDK-6 中编译的代码。除了 JNDI 之外,一切都工作正常。我们遇到以下异常:
2015-05-25 09:44:41,769 ERROR ne.LdapNeNotifListener - NamingExceptionEvent recieved from ABC:
javax.naming.NamingException: LDAP response read timed out, timeout used:-1ms.
at com.sun.jndi.ldap.Connection.readReply(Connection.java:483)
at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:639)
at com.sun.jndi.ldap.LdapClient.getSearchReply(LdapClient.java:607)
at com.sun.jndi.ldap.LdapCtx.getSearchReply(LdapCtx.java:1919)
at com.sun.jndi.ldap.LdapNamingEnumeration.getNextBatch(LdapNamingEnumeration.java:129)
at com.sun.jndi.ldap.LdapNamingEnumeration.hasMoreImpl(LdapNamingEnumeration.java:216)
at com.sun.jndi.ldap.LdapNamingEnumeration.hasMore(LdapNamingEnumeration.java:189)
at com.sun.jndi.ldap.NamingEventNotifier.run(NamingEventNotifier.java:134)
at java.lang.Thread.run(Thread.java:745)
我们可以看到,根据 JAVA 文档,超时为 -1,因此是无限的。 是什么导致了这里的问题?
我刚刚下载并测试了 JRE 版本 7u80。
这里一切正常。我没有看到任何异常。
导致问题的是低于或等于 7u79 的 JRE 版本。
是的,它适用于最新的 JRE 版本 7u80。还观察到仅处理批量数据时会发生此错误。
有人注意到相同的用例吗?
会是这个问题吗? Oracle 说已在 7 更新 91 中修复,但我不能确定。解决日期和其他向后移植大约与您的报告同时进行。 http://bugs.java.com/bugdatabase/view_bug.do?bug_id=8081560