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()Answers a new instance of the same class as the receiver, whose slots have been filled in with the values in the slots of the receiver.booleanCompares the argument to the receiver, and answers true if they represent the same object using a class specific comparison.protected voidfinalize()Deprecated, for removal: This API element is subject to removal in a future version.May cause performance issues, deadlocks and hangs.getClass()Answers the unique instance of java.lang.Class which represents the class of the receiver.inthashCode()Answers an integer hash code for the receiver.final voidnotify()Causes one thread which iswaiting on the receiver to be made ready to run.final voidCauses all threads which arewaiting on the receiver to be made ready to run.toString()Answers a string containing a concise, human-readable description of the receiver.final voidwait()Causes the thread which sent this message to be made not ready to run pending some change in the receiver (as indicated bynotifyornotifyAll).final voidwait(long time) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.final voidwait(long time, int frac) Causes the thread which sent this message to be made not ready to run either pending some change in the receiver (as indicated bynotifyornotifyAll) or the expiration of the timeout.
-
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.
-