diff --git a/redisson/src/main/java/org/redisson/config/Config.java b/redisson/src/main/java/org/redisson/config/Config.java index ea04d9355..c48bc30f4 100644 --- a/redisson/src/main/java/org/redisson/config/Config.java +++ b/redisson/src/main/java/org/redisson/config/Config.java @@ -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; } diff --git a/redisson/src/main/java/org/redisson/connection/AddressResolverGroupFactory.java b/redisson/src/main/java/org/redisson/connection/AddressResolverGroupFactory.java index ec53d96d1..8499cd1d1 100644 --- a/redisson/src/main/java/org/redisson/connection/AddressResolverGroupFactory.java +++ b/redisson/src/main/java/org/redisson/connection/AddressResolverGroupFactory.java @@ -11,6 +11,17 @@ import io.netty.resolver.dns.RoundRobinDnsAddressResolverGroup; public interface AddressResolverGroupFactory { DnsAddressResolverGroup create(Class 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 channelType, DnsServerAddressStreamProvider nameServerProvider) { + return new RoundRobinDnsAddressResolverGroup(channelType, nameServerProvider); + } + }; + + AddressResolverGroupFactory DNS_ADDRESS_RESOLVER_GROUP = new AddressResolverGroupFactory() { + @Override + public DnsAddressResolverGroup create(Class channelType, DnsServerAddressStreamProvider nameServerProvider) { + return new DnsAddressResolverGroup(channelType, nameServerProvider); + } + }; }