Spec-Zone.ru › OpenJDK 25

Класс InetAddressResolverProvider

java.lang.Object
java.net.spi.InetAddressResolverProvider
public abstract class InetAddressResolverProvider extends Object
Класс поставщика службы для резолверов InetAddress.

Поставщик резоллера — это фабрика пользовательских реализаций резолверов InetAddress. Резоллер определяет операции для поиска (разрешения) имён хостов и IP-адресов.

Поставщик резоллера — это конкретный подкласс данного класса, который имеет конструктор без аргументов и реализует указанные ниже абстрактные методы.

При каждом запуске виртуальной машины Java поддерживается единственный системный экземпляр резоллера, который используется классом InetAddress. Он устанавливается после полной инициализации виртуальной машины и при первом выполнении операции поиска, вызванном вызовом метода класса InetAddress.

Класс InetAddress находит и загружает поставщик резоллера, чтобы создать системный резоллер следующим образом:

  1. Для поиска InetAddressResolverProvider с помощью системного загрузчика классов используется механизм ServiceLoader. Порядок поиска поставщиков зависит от реализации. Первый найденный поставщик будет использоваться для создания экземпляра InetAddressResolver посредством вызова метода get(InetAddressResolverProvider.Configuration). Возвращённый InetAddressResolver будет установлен в качестве системного резоллера.
  2. Если на предыдущем шаге не удалось найти поставщик резоллера, системным резоллером будет установлен встроенный резоллер.

Если создание пользовательского резоллера из поставщика, найденного на шаге 1, приводит к ошибке или исключению, системный резоллер не будет установлен, а ошибка или исключение будут переданы вызывающему коду метода, инициировавшего операцию поиска. В противном случае любая операция поиска будет выполняться с использованием системного резоллера.

Примечание по реализации:
InetAddress будет использовать встроенный резоллер для любых операций поиска, которые могут произойти до полной загрузки виртуальной машины.
С версии:
18

Краткое описание вложенных классов

Модификатор и тип Класс Описание
static interface  InetAddressResolverProvider.Configuration
Объект Configuration передаётся методу get(Configuration) при установке системного резоллера.

Краткое описание конструкторов

InetAddressResolverProvider()
Модификатор Конструктор Описание
protected
Создаёт новый экземпляр InetAddressResolverProvider.

Краткое описание методов

Модификатор и тип Метод Описание
abstract InetAddressResolver get(InetAddressResolverProvider.Configuration configuration)
Инициализирует и возвращает InetAddressResolver, предоставленный этим поставщиком.
abstract String name()
Возвращает имя этого поставщика или null, если имя не задано.

Методы, объявленные в классе Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait

Подробное описание конструкторов

InetAddressResolverProvider

protected InetAddressResolverProvider()
Создаёт новый экземпляр InetAddressResolverProvider.
Примечание по реализации:
Рекомендуется, чтобы инициализация реализации службы InetAddressResolverProvider была как можно проще, чтобы избежать возможных рисков взаимоблокировки или циклической загрузки классов при создании экземпляра поставщика службы.

Подробное описание методов

get

public abstract InetAddressResolver get(InetAddressResolverProvider.Configuration configuration)
Инициализирует и возвращает InetAddressResolver, предоставленный этим поставщиком. Этот метод вызывается классом InetAddress при установке реализации системного резоллера.

Любая ошибка или исключение, выброшенные этим методом, считаются неудачной попыткой создания экземпляра InetAddressResolver и передаются вызывающему коду метода, инициировавшего операцию поиска.

Параметры:
configuration — экземпляр InetAddressResolverProvider.Configuration, содержащий встроенную конфигурацию платформы для разрешения адресов.
Возвращает:
резоллер, предоставленный этим поставщиком

name

public abstract String name()
Возвращает имя этого поставщика или null, если имя не задано.
Возвращает:
имя этого поставщика или null, если имя не задано

Сообщить об ошибке или предложить улучшение
Дополнительную справочную информацию по API и документацию для разработчиков см. в документации Java SE, содержащей более подробные описания для разработчиков, обзоры концепций, определения терминов, обходные решения и примеры работающего кода. Другие версии.
Java является товарным знаком или зарегистрированным товарным знаком Oracle и/или её аффилированных лиц в США и других странах.
Авторские права © 1993, 2025, Oracle и/или её аффилированные лица, 500 Oracle Parkway, Redwood Shores, CA 94065 USA.
Все права защищены. Использование регулируется условиями лицензии и политикой распространения документации.

© 1993, 2025, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/net/spi/InetAddressResolverProvider.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API