我配置了JNDI读取和放大器通过VM选项连接超时属性,如下所示:
-Dcom.sun.jndi.ldap.connect.timeout=5000
-Dcom.sun.jndi.ldap.read.timeout=5000
但它不起作用。 JNDI读取超时失败,但出现以下异常:
javax.naming.NamingException: LDAP response read timed out, timeout used:-1ms.
但是如果我在JNDI环境属性中配置了这些属性,如下所示:
env.put("com.sun.jndi.ldap.read.timeout", "5000");
env.put("com.sun.jndi.ldap.connect.timeout", "5000");
然后它正常工作我得到了正确的读取超时错误信息,如下所示:
javax.naming.NamingException: LDAP response read timed out, timeout used:5000ms.
答案 0 :(得分:0)
简单的答案是JNDI属性不是系统属性,因此将它们设置为系统属性无效。您可以在Context
的环境中提供它们,也可以通过JAR文件根目录中的/jndi.properties
文件提供它们。