モジュール java.base
パッケージ java.net.spi

クラスInetAddressResolverProvider

java.lang.Object
java.net.spi.InetAddressResolverProvider

public abstract class InetAddressResolverProvider extends Object
「InetAddressリゾルバ」のサービス・プロバイダ・クラス。

リゾルバ・プロバイダは、「InetAddressリゾルバ」のカスタム実装のファクトリです。 リゾルバは、(解決)ホスト名およびIPアドレスを参照するための操作を定義します。

リゾルバ・プロバイダは、ゼロ引数コンストラクタを持つこのクラスの具体的なサブクラスで、次に示す抽象メソッドを実装します。

Java仮想マシンの特定の起動では、InetAddressで使用される単一のシステム全体のリゾルバ・インスタンスが保持されます。 これは、VMが完全に初期化された後に設定され、InetAddressクラスでメソッドを呼び出すと最初のルックアップ操作がトリガーされます。

リゾルバ・プロバイダは、次のようにInetAddressによって配置およびロードされ、システム全体のリゾルバを作成します:

  1. ServiceLoaderメカニズムは、システム・クラス・ローダーを使用してInetAddressResolverProviderを特定するために使用されます。 プロバイダが配置される順序は、「実装固有」です。 検出された最初のプロバイダは、get(InetAddressResolverProvider.Configuration)メソッドを起動してInetAddressResolverをインスタンス化するために使用されます。 返されるInetAddressResolverは、システム全体のリゾルバとして設定されます。
  2. 前のステップでリゾルバ・プロバイダの検索に失敗した場合、「組込みリゾルバ」はシステム全体のリゾルバとして設定されます。

ステップ1で検出されたプロバイダからカスタム・リゾルバをインスタンス化すると、エラーまたは例外がスローされた場合、システム全体のリゾルバは設定されず、エラーまたは例外はルックアップ操作をトリガーしたメソッドのコール元に伝播されます。 それ以外の場合は、「システム全体のリゾルバ」を使用してルックアップ操作が実行されます。

実装上のノート:
InetAddressは、VMが完全にブートされる前に発生する可能性があるルックアップ操作に対して「組み込みリゾルバ」を使用します。
導入されたバージョン:
18