模块 java.naming


模块java.naming
定义 Java 命名和目录接口 (JNDI) API。

JNDI 提供程序可能支持的通用标准 JNDI 环境属性在 Context 中定义和记录。特定的 JNDI 提供程序实现也可能支持特定于它们的实现的其他环境或系统属性。

实现注意事项:
JDK 中的默认 LDAP 命名服务提供程序实现支持以下实现特定的环境属性:
  • com.sun.jndi.ldap.connect.timeout :
    此属性的值是一个整数的字符串表示形式,表示以毫秒为单位的连接超时。如果 LDAP 提供程序无法在该期限内建立连接,它将中止连接尝试。整数应大于零。小于或等于零的整数表示使用网络协议(即 TCP)的超时值。
    如果未指定此属性,则默认为等待连接建立或直到底层网络超时。
  • com.sun.jndi.ldap.read.timeout :
    此属性的值是一个整数的字符串表示形式,表示 LDAP 操作的读取超时(以毫秒为单位)。如果 LDAP 提供程序无法在该期间内获得 LDAP 响应,它将中止读取尝试。整数应大于零。小于或等于零的整数表示没有指定读取超时,这相当于无限等待响应直到收到响应。
    如果未指定此属性,则默认为等待响应直到收到响应。
  • com.sun.jndi.ldap.tls.cbtype :
    此属性的值是表示通过 SSL/TLS 的 LDAP 连接所需的 TLS 通道绑定类型的字符串。可能的值是:
    • "tls-server-end-point" - 通道绑定数据是在 TLS 服务证书的基础上创建的。

    “tls-unique”TLS 通道绑定类型在 RFC-5929 中指定但不受支持。
    如果未指定此属性,则客户端不会向服务发送通道绑定信息。

JDK 中的默认 LDAP 命名服务提供程序实现支持以下实现特定的系统属性:

  • com.sun.jndi.ldap.object.trustSerialData :
    此系统属性的值是boolean的字符串表示形式,它允许控制来自“javaSerializedData”LDAP 属性的 java 对象的反序列化。要防止从“javaSerializedData”属性反序列化 java 对象,可以将系统属性值设置为“false”。
    如果未指定属性,则允许从“javaSerializedData”属性反序列化 java 对象。
  • jdk.jndi.object.factoriesFilter :
    该系统属性的值定义了 JNDI 运行时实现所使用的过滤器,用于控制对象工厂类集,这些类将允许从命名/目录系统返回的对象引用实例化对象。引用实例命名的工厂类将与此过滤器进行匹配。 filter 属性支持基于模式的过滤器语法,其格式与 jdk.serialFilter 相同。该属性也可以指定为 安全财产默认 JNDI RMI 提供程序 也支持此属性。
    默认值允许引用实例指定的任何对象工厂类重新创建引用对象。

其他提供者可能会在其模块描述中定义其他属性:

模块图:
Module graph for java.namingModule graph for java.naming
自从:
9