RFR: 8244202: Implementation of JEP 418: Internet-Address Resolution SPI [v5]

Alan Bateman alanb at openjdk.java.net
Wed Oct 20 18:50:08 UTC 2021


On Wed, 20 Oct 2021 11:52:38 GMT, Aleksei Efimov <aefimov at openjdk.org> wrote:

>> This change implements a new service provider interface for host name and address resolution, so that java.net.InetAddress API can make use of resolvers other than the platform's built-in resolver.
>> 
>> The following API classes are added to `java.net.spi` package to facilitate this:
>> - `InetAddressResolverProvider` -  abstract class defining a service, and is, essentially, a factory for `InetAddressResolver` resolvers.
>> - `InetAddressResolverProvider.Configuration ` - an interface describing the platform's built-in configuration for resolution operations that could be used to bootstrap a resolver construction, or to implement partial delegation of lookup operations.
>> - `InetAddressResolver` - an interface that defines methods for the fundamental forward and reverse lookup operations.
>> - `InetAddressResolver.LookupPolicy` - a class whose instances describe the characteristics of one forward lookup operation.  
>> 
>> More details in [JEP-418](https://openjdk.java.net/jeps/418).
>> 
>> Testing: new and existing `tier1:tier3` tests
>
> Aleksei Efimov has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Change InetAddressResolver method names

src/java.base/share/classes/java/net/InetAddress.java line 244:

> 242:  * @implNote
> 243:  * For any lookup operation that might occur before the VM is fully booted the <i>built-in
> 244:  * resolver</i> will be used.

I think we will need decide if InetAddress class description is the right place for this or whether some/most of it should move to InetAddressResolverProvider. It might be that we update the existing "Host Name Resolution" section with some basic/readable text to make the reader aware that there is a provider mechanism with a link to InetAddressResolverProvider with the details.

-------------

PR: https://git.openjdk.java.net/jdk/pull/5822


More information about the core-libs-dev mailing list