模块 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的字符串表示形式,该boolean控制 javaSerializedDataLDAP 属性中的 java 对象的反序列化、javaRemoteLocationLDAP 属性中的 RMI 引用的重建以及javaReferenceAddressLDAP 属性中的二进制参考地址 的重建。要允许从 javaSerializedDatajavaRemoteLocationjavaReferenceAddress 属性反序列化或重建 java 对象,可以将系统属性值设置为 true(不区分大小写)。
    如果未指定属性,则不允许从 javaSerializedDatajavaRemoteLocationjavaReferenceAddress 属性反序列化 java 对象。
  • jdk.jndi.object.factoriesFilter :
    这个系统属性的值定义了一个过滤器,JNDI 运行时实现使用它来控制对象工厂类的集合,这些对象工厂类将被允许从命名/目录系统返回的对象引用中实例化对象。引用实例命名的工厂类将与此过滤器匹配。 filter 属性支持与 jdk.serialFilter 格式相同的基于模式的过滤器语法。过滤器属性中指定的限制模式未使用。此属性也可以指定为 安全财产默认 JNDI RMI 提供程序 也支持此属性。
    默认值允许引用实例指定的任何对象工厂类重新创建引用对象。
  • jdk.jndi.ldap.object.factoriesFilter :
    此系统属性的值定义了 JDK LDAP 提供程序实现使用的过滤器,以进一步限制对象工厂类集,这些对象工厂类将被允许从 LDAP 系统返回的对象引用中实例化对象。 参考实例 命名的工厂类首先将与此特定过滤器匹配,然后与全局过滤器匹配。如果这两个过滤器中的任何一个拒绝它,或者如果它们都不允许,则工厂类被拒绝。 filter 属性支持与 jdk.serialFilter 格式相同的基于模式的过滤器语法。过滤器属性中指定的限制模式未使用。
    默认值允许 JDK LDAP 提供程序实现提供的任何对象工厂类。
    仅当全局 ObjectFactoryBuilder 没有设置 时,此系统属性才会用于过滤 LDAP 特定对象工厂。

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

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