public class RoundRobinDnsAddressResolverGroup extends DnsAddressResolverGroup
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 and Description |
---|
RoundRobinDnsAddressResolverGroup(io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel> channelFactory,
DnsServerAddressStreamProvider nameServerProvider) |
RoundRobinDnsAddressResolverGroup(Class<? extends io.netty.channel.socket.DatagramChannel> channelType,
DnsServerAddressStreamProvider nameServerProvider) |
RoundRobinDnsAddressResolverGroup(DnsNameResolverBuilder dnsResolverBuilder) |
Modifier and Type | Method and Description |
---|---|
protected io.netty.resolver.AddressResolver<InetSocketAddress> |
newAddressResolver(io.netty.channel.EventLoop eventLoop,
io.netty.resolver.NameResolver<InetAddress> resolver)
We need to override this method, not
DnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider) ,
because we need to eliminate possible caching of NameResolver.resolve(java.lang.String)
by InflightNameResolver created in
DnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider) . |
newNameResolver, newResolver, newResolver
public RoundRobinDnsAddressResolverGroup(DnsNameResolverBuilder dnsResolverBuilder)
public RoundRobinDnsAddressResolverGroup(Class<? extends io.netty.channel.socket.DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider)
public RoundRobinDnsAddressResolverGroup(io.netty.channel.ChannelFactory<? extends io.netty.channel.socket.DatagramChannel> channelFactory, DnsServerAddressStreamProvider nameServerProvider)
protected final io.netty.resolver.AddressResolver<InetSocketAddress> newAddressResolver(io.netty.channel.EventLoop eventLoop, io.netty.resolver.NameResolver<InetAddress> resolver) throws Exception
DnsAddressResolverGroup.newNameResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
,
because we need to eliminate possible caching of NameResolver.resolve(java.lang.String)
by InflightNameResolver
created in
DnsAddressResolverGroup.newResolver(EventLoop, ChannelFactory, DnsServerAddressStreamProvider)
.newAddressResolver
in class DnsAddressResolverGroup
Exception
Copyright © 2008–2020 The Netty Project. All rights reserved.