Interface ConnectionPool
- All Superinterfaces:
AutoCloseable,Closeable,ConnectionFactory
When connection pools are no longer needed they must be explicitly closed in order to close any remaining pooled connections.
Since pooled connections are re-used, applications must use operations such as binds and StartTLS with extreme caution.
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Releases any resources associated with this connection pool.Obtains a connection from this connection pool, potentially opening a new connection if needed.org.forgerock.util.promise.Promise<Connection, LdapException> Asynchronously obtains a connection from this connection pool, potentially opening a new connection if needed.
-
Method Details
-
close
void close()Releases any resources associated with this connection pool. Pooled connections will be permanently closed and this connection pool will no longer be available for use.Attempts to use this connection pool after it has been closed will result in an
IllegalStateException.Calling
closeon a connection pool which is already closed has no effect.- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Specified by:
closein interfaceConnectionFactory- See Also:
-
getConnectionAsync
org.forgerock.util.promise.Promise<Connection,LdapException> getConnectionAsync()Asynchronously obtains a connection from this connection pool, potentially opening a new connection if needed.The returned
Promisecan be used to retrieve the pooled connection.Closing the pooled connection will, depending on the connection pool implementation, return the connection to this pool without closing it.
- Specified by:
getConnectionAsyncin interfaceConnectionFactory- Returns:
- A promise which can be used to retrieve the pooled connection.
- Throws:
IllegalStateException- If this connection pool has already been closed.
-
getConnection
Obtains a connection from this connection pool, potentially opening a new connection if needed.Closing the pooled connection will, depending on the connection pool implementation, return the connection to this pool without closing it.
- Specified by:
getConnectionin interfaceConnectionFactory- Returns:
- A pooled connection.
- Throws:
LdapException- If the connection request failed for some reason.IllegalStateException- If this connection pool has already been closed.
-