Class AddressResolverGroup<T extends java.net.SocketAddress>
java.lang.Object
io.netty.resolver.AddressResolverGroup<T>
- All Implemented Interfaces:
java.io.Closeable, java.lang.AutoCloseable
- Direct Known Subclasses:
DefaultAddressResolverGroup, DnsAddressResolverGroup, NoopAddressResolverGroup
public abstract class AddressResolverGroup<T extends java.net.SocketAddress>
extends java.lang.Object
implements java.io.Closeable
Creates and manages
NameResolvers so that each EventExecutor has its own resolver instance.-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final java.util.Map<EventExecutor, GenericFutureListener<Future<java.lang.Object>>> private static final InternalLoggerprivate final java.util.Map<EventExecutor, AddressResolver<T>> Note that we do not use aConcurrentMaphere because it is usually expensive to instantiate a resolver. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Closes allNameResolvers created by this group.getResolver(EventExecutor executor) Returns theAddressResolverassociated with the specifiedEventExecutor.protected abstract AddressResolver<T> newResolver(EventExecutor executor) Invoked bygetResolver(EventExecutor)to create a newAddressResolver.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Field Details
-
logger
-
resolvers
private final java.util.Map<EventExecutor, AddressResolver<T extends java.net.SocketAddress>> resolversNote that we do not use aConcurrentMaphere because it is usually expensive to instantiate a resolver. -
executorTerminationListeners
private final java.util.Map<EventExecutor, GenericFutureListener<Future<java.lang.Object>>> executorTerminationListeners
-
-
Constructor Details
-
AddressResolverGroup
protected AddressResolverGroup()
-
-
Method Details
-
getResolver
Returns theAddressResolverassociated with the specifiedEventExecutor. If there's no associated resolver found, this method creates and returns a new resolver instance created bynewResolver(EventExecutor)so that the new resolver is reused on another#getResolver(EventExecutor)call with the sameEventExecutor. -
newResolver
protected abstract AddressResolver<T> newResolver(EventExecutor executor) throws java.lang.Exception Invoked bygetResolver(EventExecutor)to create a newAddressResolver.- Throws:
java.lang.Exception
-
close
public void close()Closes allNameResolvers created by this group.- Specified by:
closein interfacejava.lang.AutoCloseable- Specified by:
closein interfacejava.io.Closeable
-