Class LdapDnsProvider
An LDAP DNS provider is a concrete subclass of this class that
has a zero-argument constructor. LDAP DNS providers are located using the
ServiceLoader facility, as specified by
InitialDirectContext.
The
ServiceLoader is used to create and register
implementations of LdapDnsProvider.
An LDAP DNS provider can be used in environments where the default
DNS resolution mechanism is not sufficient to accurately pinpoint the
correct LDAP servers needed to perform LDAP operations. For example, in an
environment containing a mix of ldap and ldaps servers
you may want the LdapContext
to query ldaps servers only.
- Since:
- 12
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedCreates a new instance ofLdapDnsProvider. -
Method Summary
Modifier and TypeMethodDescriptionabstract Optional<LdapDnsProviderResult> lookupEndpoints(String url, Map<?, ?> env) Lookup the endpoints and domain name for the givenContextprovider URLand environment.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitModifier and TypeMethodDescriptionprotected Objectclone()Creates and returns a copy of this object.booleanIndicates whether some other object is "equal to" this one.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.Finalization is deprecated and subject to removal in a future release.final Class<?> getClass()Returns the runtime class of thisObject.inthashCode()Returns a hash code value for this object.final voidnotify()Wakes up a single thread that is waiting on this object's monitor.final voidWakes up all threads that are waiting on this object's monitor.toString()Returns a string representation of the object.final voidwait()Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final voidwait(long timeoutMillis) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.final voidwait(long timeoutMillis, int nanos) Causes the current thread to wait until it is awakened, typically by being notified or interrupted, or until a certain amount of real time has elapsed.
-
Constructor Details
-
LdapDnsProvider
protected LdapDnsProvider()Creates a new instance ofLdapDnsProvider.
-
-
Method Details
-
lookupEndpoints
public abstract Optional<LdapDnsProviderResult> lookupEndpoints(String url, Map<?, ?> env) throws NamingExceptionLookup the endpoints and domain name for the givenContextprovider URLand environment. The resolved endpoints and domain name are returned as anLdapDnsProviderResult.An endpoint is a
Stringrepresentation of an LDAP URL which points to an LDAP server to be used for LDAP operations. The syntax of an LDAP URL is defined by RFC 2255: The LDAP URL Format.- Parameters:
url- TheContextprovider URLenv- TheContextenvironment.- Returns:
- an
LdapDnsProviderResultor emptyOptionalif the lookup fails. - Throws:
NamingException- if theurlis not valid or an error occurred while performing the lookup.NullPointerException- if eitherurlorenvarenull.
-