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
ConstructorsModifierConstructorDescriptionprotected
Creates a new instance ofLdapDnsProvider
. -
Method Summary
Modifier and TypeMethodDescriptionabstract Optional
<LdapDnsProviderResult> lookupEndpoints
(String url, Map<?, ?> env) Lookup the endpoints and domain name for the givenContext
provider URL
and environment.Methods declared in class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Modifier and TypeMethodDescriptionprotected Object
clone()
Creates and returns a copy of this object.boolean
Indicates whether some other object is "equal to" this one.protected void
finalize()
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
.int
hashCode()
Returns a hash code value for this object.final void
notify()
Wakes up a single thread that is waiting on this object's monitor.final void
Wakes up all threads that are waiting on this object's monitor.toString()
Returns a string representation of the object.final void
wait()
Causes the current thread to wait until it is awakened, typically by being notified or interrupted.final void
wait
(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 void
wait
(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 givenContext
provider URL
and environment. The resolved endpoints and domain name are returned as anLdapDnsProviderResult
.An endpoint is a
String
representation 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
- TheContext
provider URL
env
- TheContext
environment.- Returns:
- an
LdapDnsProviderResult
or emptyOptional
if the lookup fails. - Throws:
NamingException
- if theurl
is not valid or an error occurred while performing the lookup.NullPointerException
- if eitherurl
orenv
arenull
.
-