モジュールjava.naming


モジュールjava.naming
Java Naming and Directory Interface (JNDI) APIを定義します。

JNDIプロバイダでサポートされる可能性のある共通の標準JNDI環境プロパティは、Contextで定義およびドキュメント化されています。 特定のJNDIプロバイダの実装は、実装に固有の他の環境またはシステム・プロパティもサポートする場合があります。

実装上のノート:
JDKのデフォルトのLDAPネーミング・サービス・プロバイダ実装では、次の実装固有の環境プロパティがサポートされています:
  • java.naming.ldap.factory.socket:
    この環境プロパティの値は、LDAPプロバイダが使用するソケット・ファクトリの完全修飾クラス名を指定します。
    このクラスは、SocketFactory抽象クラスを実装し、ソケット・ファクトリのインスタンスを戻す静的"getDefault()メソッドの実装を提供する必要があります。 デフォルトでは、環境プロパティは設定されていません。
  • com.sun.jndi.ldap.connect.timeout:
    この環境プロパティの値は、接続タイムアウトをミリ秒単位で指定する整数の文字列表現です。
    LDAPプロバイダがこの値の期間中に接続を確立できないと、接続の試行は中止されます。 整数は0より大きい必要があります。 0以下の整数を指定した場合は、TCPなどのネットワーク・プロトコルのタイム・アウト値が使用されます。
    このプロパティが指定されない場合は、接続が確立されるのを待機するか、またはベースとなるネットワークのタイム・アウトまで待機します。

    カスタム・ソケット・ファクトリが環境プロパティjava.naming.ldap.factory.socketを介して提供され、接続されていないソケットがサポートされていない場合、指定されたタイムアウトは無視され、プロバイダは接続タイムアウトが設定されていないかのように動作します。
  • com.sun.jndi.ldap.read.timeout:
    このプロパティの値は、LDAP操作に対する読み取りタイムアウトをミリ秒単位で指定する整数の文字列表現です。
    LDAPプロバイダがこの値の期間中にLDAP応答を取得できないと、読取りの試行は中止されます。 整数は0より大きい必要があります。 0以下の整数は、読取りタイム・アウトが指定されていないことを表し、応答があるまで無限に待機するということです。
    このプロパティを指定しないと、デフォルトは応答があるまで待つという設定になります。
  • 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:
    このシステム・プロパティの値は、javaSerializedData LDAP属性からのjavaオブジェクトの直列化復元、javaRemoteLocation LDAP属性からのRMI参照の再構築およびjavaReferenceAddress LDAP属性からのバイナリ参照アドレスの再構築を制御するブール値の文字列表現です。
    javaSerializedDatajavaRemoteLocationまたはjavaReferenceAddress属性からのjavaオブジェクトの直列化復元または再構築を可能にするには、システム・プロパティ値をtrue (大文字小文字を区別しません)に設定できます。
    プロパティが指定されていない場合、javaSerializedDataからのjavaオブジェクトの直列化復元、javaRemoteLocationまたはjavaReferenceAddress属性は許可されません。
  • jdk.jndi.object.factoriesFilter:
    このシステム・プロパティの値は、JNDIランタイム実装によって使用されるフィルタを定義して、ネーミング/ディレクトリ・システムによって返されるオブジェクト参照からオブジェクトをインスタンス化できる一連のオブジェクト・ファクトリ・クラスを制御します。
    参照インスタンスで指定されたファクトリ・クラスがこのフィルタと照合されます。 フィルタ・プロパティは、jdk.serialFilterと同じ形式でパターン・ベースのフィルタ構文をサポートします。 フィルタ・プロパティで指定された制限パターンは使用されません。 このプロパティは、「セキュリティ・プロパティ」と指定することもできます。 このプロパティは、「デフォルトのJNDI RMIプロバイダ」でもサポートされています。
    デフォルト値では、参照インスタンスで指定されたオブジェクト・ファクトリ・クラスによって、参照オブジェクトを再作成できます。
  • jdk.jndi.ldap.object.factoriesFilter:
    このシステム・プロパティの値は、JDK LDAPプロバイダ実装で使用されるフィルタを定義し、LDAPシステムによって返されるオブジェクト参照からオブジェクトをインスタンス化できるオブジェクト・ファクトリ・クラスのセットをさらに制限します。
    最初に「参照インスタンス」で指定されたファクトリ・クラスは、この特定のフィルタに対して照合され、次にグローバル・フィルタに対して照合されます。 ファクトリ・クラスは、これら2つのフィルタのいずれかが拒否した場合、またはいずれも許可しない場合、拒否されます。 filterプロパティは、jdk.serialFilterと同じ書式のパターン・ベースのフィルタ構文をサポートしています。 フィルタ・プロパティで指定された制限パターンは使用されません。
    デフォルト値では、JDK LDAPプロバイダ実装によって提供されるオブジェクト・ファクトリ・クラスを使用できます。

    このシステム・プロパティは、グローバルObjectFactoryBuilder「未設定」の場合にのみ、LDAP固有のオブジェクト・ファクトリをフィルタするために使用されます。

他のプロバイダは、モジュールの説明に追加のプロパティを定義できます:

モジュール・グラフ:
java.namingのモジュール・グラフjava.namingのモジュール・グラフ
導入されたバージョン:
9