Package org.eclipse.jetty.client
Interface ConnectionPool
-
- All Superinterfaces:
java.lang.AutoCloseable
,java.io.Closeable
- All Known Implementing Classes:
AbstractConnectionPool
,DuplexConnectionPool
,LeakTrackingConnectionPool
,MultiplexConnectionPool
,RandomConnectionPool
,RoundRobinConnectionPool
,ValidatingConnectionPool
public interface ConnectionPool extends java.io.Closeable
Client-side connection pool abstraction.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static interface
ConnectionPool.Factory
Factory for ConnectionPool instances.static interface
ConnectionPool.Multiplexable
Marks a connection as supporting multiplexed requests.
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Connection
acquire()
Returns an idle connection, if available, or schedules the opening of a new connection and returnsnull
.void
close()
Closes this ConnectionPool.boolean
isActive(Connection connection)
boolean
isClosed()
boolean
isEmpty()
default java.util.concurrent.CompletableFuture<java.lang.Void>
preCreateConnections(int connectionCount)
Optionally pre-create up toconnectionCount
connections so they are immediately ready for use.boolean
release(Connection connection)
Returns the given connection, previously obtained viaacquire()
, back to this ConnectionPool.boolean
remove(Connection connection)
Removes the given connection from this ConnectionPool.
-
-
-
Method Detail
-
preCreateConnections
default java.util.concurrent.CompletableFuture<java.lang.Void> preCreateConnections(int connectionCount)
Optionally pre-create up toconnectionCount
connections so they are immediately ready for use.- Parameters:
connectionCount
- the number of connections to pre-start.
-
isActive
boolean isActive(Connection connection)
- Parameters:
connection
- the connection to test- Returns:
- whether the given connection is currently in use
-
isEmpty
boolean isEmpty()
- Returns:
- whether this ConnectionPool has no open connections
-
isClosed
boolean isClosed()
- Returns:
- whether this ConnectionPool has been closed
- See Also:
close()
-
acquire
Connection acquire()
Returns an idle connection, if available, or schedules the opening of a new connection and returns
null
.- Returns:
- an available connection, or null
-
release
boolean release(Connection connection)
Returns the given connection, previously obtained via
acquire()
, back to this ConnectionPool.- Parameters:
connection
- the connection to release- Returns:
- true if the connection has been released, false if the connection should be closed
-
remove
boolean remove(Connection connection)
Removes the given connection from this ConnectionPool.
- Parameters:
connection
- the connection to remove- Returns:
- true if the connection was removed from this ConnectionPool
-
close
void close()
Closes this ConnectionPool.- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.io.Closeable
- See Also:
isClosed()
-
-