Spec-Zone.ru › OpenJDK 21

Класс InetAddressResolverProvider

java.lang.Object
java.net.spi.InetAddressResolverProvider
public abstract class InetAddressResolverProvider extends Object
Класс-провайдер для разрешителей адресов InetAddress.

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

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

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

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

  1. Используется механизм ServiceLoader, чтобы найти InetAddressResolverProvider с помощью системного загрузчика классов. Порядок, в котором провайдеры обнаруживаются, является специфичным для реализации. Первый найденный провайдер будет использован для создания 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, если имя не задано.

Методы, унаследованные от класса java.lang.Object

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

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

InetAddressResolverProvider

protected InetAddressResolverProvider()
Создаёт новый экземпляр InetAddressResolverProvider.
Замечание по реализации:
Рекомендуется, чтобы инициализация реализации службы InetAddressResolverProvider была максимально простой, чтобы избежать возможных рисков тупика или циклов загрузки классов во время создания провайдера службы.
Исключения:
SecurityException - если присутствует менеджер безопасности, и его метод checkPermission не разрешает RuntimePermission("inetAddressResolverProvider").

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

get

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

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

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

name

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

© 1993, 2023, 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/21/docs/api/java.base/java/net/spi/InetAddressResolverProvider.html

Spec-Zone.ru

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