Spec-Zone.ru › OpenJDK 24

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

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

get

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

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

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

name

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

© 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://download.java.net/java/early_access/jdk24/docs/api/java.base/java/net/spi/InetAddressResolverProvider.html

Spec-Zone.ru

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