/* *AcustomsocketfactoryusedtooverridethedefaultsocketfactoryandtracktheLDAPclientconnection. *FactorycancreateonlyoneSSLSocket.SeetheDeadServerTimeoutSSLTesttest.
*/ publicclass DeadSSLSocketFactory extends SocketFactory { // Client socket that is used by LDAP connection publicstatic AtomicReference<SSLSocket> firstCreatedSocket = new AtomicReference<>();
// Boolean to track if connection socket has been opened publicstatic AtomicBoolean isConnectionOpened = new AtomicBoolean(false);
// Default SSLSocketFactory that will be used for SSL socket creation final SSLSocketFactory factory = (SSLSocketFactory)SSLSocketFactory.getDefault();
// Create unconnected socket public Socket createSocket() throws IOException { if (!isConnectionOpened.getAndSet(true)) {
System.err.println("DeadSSLSocketFactory: Creating unconnected socket");
firstCreatedSocket.set((SSLSocket) factory.createSocket()); return firstCreatedSocket.get();
} else { thrownew RuntimeException("DeadSSLSocketFactory only allows creation of one SSL socket");
}
}
public DeadSSLSocketFactory() {
System.err.println("DeadSSLSocketFactory: Constructor call");
}
@Override public Socket createSocket(String host, int port) throws IOException { // Not used by DeadSSLLdapTimeoutTest return factory.createSocket(host, port);
}
@Override public Socket createSocket(String host, int port, InetAddress localHost, int localPort) throws IOException { // Not used by DeadSSLLdapTimeoutTest return factory.createSocket(host, port, localHost, localPort);
}
@Override public Socket createSocket(InetAddress host, int port) throws IOException { // Not used by DeadSSLLdapTimeoutTest return factory.createSocket(host, port);
}
@Override public Socket createSocket(InetAddress address, int port,
InetAddress localAddress, int localPort) throws IOException { // Not used by DeadSSLLdapTimeoutTest return factory.createSocket(address, port, localAddress, localPort);
}
}
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.12 Sekunden
(vorverarbeitet am 2026-10-11)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.