Package io.netty.resolver.dns
Class RoundRobinDnsAddressResolverGroup
java.lang.Object
io.netty.resolver.AddressResolverGroup<InetSocketAddress>
io.netty.resolver.dns.DnsAddressResolverGroup
io.netty.resolver.dns.RoundRobinDnsAddressResolverGroup
- All Implemented Interfaces:
Closeable
,AutoCloseable
A
AddressResolverGroup
of DnsNameResolver
s that supports random selection of destination addresses if
multiple are provided by the nameserver. This is ideal for use in applications that use a pool of connections, for
which connecting to a single resolved address would be inefficient.-
Constructor Summary
ConstructorsConstructorDescriptionRoundRobinDnsAddressResolverGroup
(ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddressStreamProvider nameServerProvider) RoundRobinDnsAddressResolverGroup
(DnsNameResolverBuilder dnsResolverBuilder) RoundRobinDnsAddressResolverGroup
(Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected final AddressResolver
<InetSocketAddress> newAddressResolver
(EventLoop eventLoop, NameResolver<InetAddress> resolver) We need to override this method, notDnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
, because we need to eliminate possible caching ofNameResolver.resolve(java.lang.String)
byInflightNameResolver
created inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
.Methods inherited from class io.netty.resolver.dns.DnsAddressResolverGroup
newNameResolver, newResolver, newResolver
Methods inherited from class io.netty.resolver.AddressResolverGroup
close, getResolver
-
Constructor Details
-
RoundRobinDnsAddressResolverGroup
-
RoundRobinDnsAddressResolverGroup
public RoundRobinDnsAddressResolverGroup(Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) -
RoundRobinDnsAddressResolverGroup
public RoundRobinDnsAddressResolverGroup(ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddressStreamProvider nameServerProvider)
-
-
Method Details
-
newAddressResolver
protected final AddressResolver<InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<InetAddress> resolver) throws Exception We need to override this method, notDnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
, because we need to eliminate possible caching ofNameResolver.resolve(java.lang.String)
byInflightNameResolver
created inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
.- Overrides:
newAddressResolver
in classDnsAddressResolverGroup
- Throws:
Exception
-