@ThreadSafety(level=NOT_THREADSAFE) public final class LDAPListener extends java.lang.Thread
// Create a canned response request handler that will always return a
// "SUCCESS" result in response to any request.
CannedResponseRequestHandler requestHandler =
new CannedResponseRequestHandler(ResultCode.SUCCESS, null, null,
null);
// A listen port of zero indicates that the listener should
// automatically pick a free port on the system.
int listenPort = 0;
// Create and start an LDAP listener to accept requests and blindly
// return success results.
LDAPListenerConfig listenerConfig = new LDAPListenerConfig(listenPort,
requestHandler);
LDAPListener listener = new LDAPListener(listenerConfig);
listener.startListening();
// Establish a connection to the listener and verify that a search
// request will get a success result.
LDAPConnection connection = new LDAPConnection("localhost",
listener.getListenPort());
SearchResult searchResult = connection.search("dc=example,dc=com",
SearchScope.BASE, Filter.createPresenceFilter("objectClass"));
LDAPTestUtils.assertResultCodeEquals(searchResult,
ResultCode.SUCCESS);
// Close the connection and stop the listener.
connection.close();
listener.shutDown(true);
| Constructor and Description |
|---|
LDAPListener(LDAPListenerConfig config)
Creates a new
LDAPListener object with the provided configuration. |
| Modifier and Type | Method and Description |
|---|---|
void |
closeAllConnections(boolean sendNoticeOfDisconnection)
Closes all connections that are currently established to this listener.
|
java.net.InetAddress |
getListenAddress()
Retrieves the address on which this listener is accepting client
connections.
|
int |
getListenPort()
Retrieves the port on which this listener is accepting client connections.
|
void |
run()
Operates in a loop, waiting for client connections to arrive and ensuring
that they are handled properly.
|
void |
shutDown(boolean closeExisting)
Indicates that this listener should stop accepting connections.
|
void |
startListening()
Creates the server socket for this listener and starts listening for client
connections.
|
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yieldpublic LDAPListener(LDAPListenerConfig config)
LDAPListener object with the provided configuration.
The startListening() method must be called after creating the object
to actually start listening for requests.config - The configuration to use for this listener.public void startListening() throws java.io.IOException
java.io.IOException - If a problem occurs while creating the server socket.@InternalUseOnly public void run()
run in interface java.lang.Runnablerun in class java.lang.Threadpublic void closeAllConnections(boolean sendNoticeOfDisconnection)
sendNoticeOfDisconnection - Indicates whether to send the client a
notice of disconnection unsolicited
notification before closing the
connection.public void shutDown(boolean closeExisting)
closeExisting - Indicates whether to close existing connections that
may already be established.public java.net.InetAddress getListenAddress()
InetAddress.isAnyLocalAddress method returns true, then
clients should generally use localhost to attempt to establish
connections.null if it is not currently listening for
client connections.public int getListenPort()