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 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(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(String)byInflightNameResolvercreated inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider).Methods inherited from class DnsAddressResolverGroup
newNameResolver, newResolver, newResolverMethods inherited from class 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(String)byInflightNameResolvercreated inDnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider).- Overrides:
newAddressResolverin classDnsAddressResolverGroup- Throws:
Exception
-