add ability to use RoundRobinDnsAddressResolverGroup in Connection manager.

pull/1308/head
Hai Saadon 7 years ago
parent a8532ee4e5
commit 603924cc97

@ -598,10 +598,14 @@ public class Config {
return keepPubSubOrder;
}
/**
* Used to switch between {@link io.netty.resolver.dns.DnsAddressResolverGroup} implementations.
* Switch to round robin {@link io.netty.resolver.dns.RoundRobinDnsAddressResolverGroup} when you need to optimize the url resolving.
* @param addressResolverGroupFactory
*/
public void setAddressResolverGroupFactory(AddressResolverGroupFactory addressResolverGroupFactory) {
this.addressResolverGroupFactory = addressResolverGroupFactory;
}
public AddressResolverGroupFactory getAddressResolverGroupFactory() {
return addressResolverGroupFactory;
}

@ -11,6 +11,17 @@ import io.netty.resolver.dns.RoundRobinDnsAddressResolverGroup;
public interface AddressResolverGroupFactory {
DnsAddressResolverGroup create(Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider);
AddressResolverGroupFactory ROUND_ROBIN_DNS_ADDRESS_RESOLVER_GROUP = RoundRobinDnsAddressResolverGroup::new;
AddressResolverGroupFactory DNS_ADDRESS_RESOLVER_GROUP = DnsAddressResolverGroup::new;
AddressResolverGroupFactory ROUND_ROBIN_DNS_ADDRESS_RESOLVER_GROUP = new AddressResolverGroupFactory() {
@Override
public DnsAddressResolverGroup create(Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) {
return new RoundRobinDnsAddressResolverGroup(channelType, nameServerProvider);
}
};
AddressResolverGroupFactory DNS_ADDRESS_RESOLVER_GROUP = new AddressResolverGroupFactory() {
@Override
public DnsAddressResolverGroup create(Class<? extends DatagramChannel> channelType, DnsServerAddressStreamProvider nameServerProvider) {
return new DnsAddressResolverGroup(channelType, nameServerProvider);
}
};
}

Loading…
Cancel
Save