Class RoundRobinDnsAddressResolverGroup
java.lang.Object
io.netty.resolver.AddressResolverGroup<java.net.InetSocketAddress>
io.netty.resolver.dns.DnsAddressResolverGroup
io.netty.resolver.dns.RoundRobinDnsAddressResolverGroup
- All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable
A
AddressResolverGroup of DnsNameResolvers 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(java.lang.Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) -
Method Summary
Modifier and TypeMethodDescriptionprotected final AddressResolver<java.net.InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<java.net.InetAddress> resolver) We need to override this method, notDnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider), because we need to eliminate possible caching ofNameResolver.resolve(String)byInflightNameResolvercreated inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider).Methods inherited from class DnsAddressResolverGroup
newNameResolver, newResolver, newResolverMethods inherited from class AddressResolverGroup
close, getResolverMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
RoundRobinDnsAddressResolverGroup
-
RoundRobinDnsAddressResolverGroup
public RoundRobinDnsAddressResolverGroup(java.lang.Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) -
RoundRobinDnsAddressResolverGroup
public RoundRobinDnsAddressResolverGroup(ChannelFactory<? extends DatagramChannel> channelFactory, DnsServerAddressStreamProvider nameServerProvider)
-
-
Method Details
-
newAddressResolver
protected final AddressResolver<java.net.InetSocketAddress> newAddressResolver(EventLoop eventLoop, NameResolver<java.net.InetAddress> resolver) throws java.lang.Exception We need to override this method, notDnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider), because we need to eliminate possible caching ofNameResolver.resolve(String)byInflightNameResolvercreated inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider).- Overrides:
newAddressResolverin classDnsAddressResolverGroup- Throws:
java.lang.Exception
-