无法配置JNDI Read&通过Java VM选项连接超时属性

时间:2016-05-17 06:30:18

标签: java jndi

我配置了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.

1 个答案:

答案 0 :(得分:0)

简单的答案是JNDI属性不是系统属性,因此将它们设置为系统属性无效。您可以在Context的环境中提供它们,也可以通过JAR文件根目录中的/jndi.properties文件提供它们。