Package org.eclipse.jetty.client
Interface ConnectionPool
- All Superinterfaces:
AutoCloseable
,Closeable
- All Known Implementing Classes:
AbstractConnectionPool
,DuplexConnectionPool
,LeakTrackingConnectionPool
,MultiplexConnectionPool
,RandomConnectionPool
,RoundRobinConnectionPool
,ValidatingConnectionPool
Client-side connection pool abstraction.
-
Nested Class Summary
Modifier and TypeInterfaceDescriptionstatic interface
Factory for ConnectionPool instances.static interface
Marks a connection as being usable for a maximum number of requests.static interface
Marks a connection as supporting multiplexed requests. -
Method Summary
Modifier and TypeMethodDescriptionboolean
accept
(Connection connection) Accepts the given connection to be managed by this ConnectionPool.acquire
(boolean create) Returns an idle connection, if available; if an idle connection is not available, and the givencreate
parameter istrue
, then schedules the opening of a new connection, if possible within the configuration of this connection pool (for example, if it does not exceed the max connection count); otherwise returnsnull
.void
close()
boolean
isActive
(Connection connection) boolean
isClosed()
boolean
isEmpty()
default CompletableFuture<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(boolean)
, back to this ConnectionPool.boolean
remove
(Connection connection) Removes the given connection from this ConnectionPool.
-
Method Details
-
preCreateConnections
Optionally pre-create up toconnectionCount
connections so they are immediately ready for use.- Parameters:
connectionCount
- the number of connections to pre-start.
-
isActive
- 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:
-
acquire
Returns an idle connection, if available; if an idle connection is not available, and the given
create
parameter istrue
, then schedules the opening of a new connection, if possible within the configuration of this connection pool (for example, if it does not exceed the max connection count); otherwise returnsnull
.- Parameters:
create
- whether to schedule the opening of a connection if no idle connections are available- Returns:
- an idle connection or
null
if no idle connections are available
-
accept
Accepts the given connection to be managed by this ConnectionPool.
- Parameters:
connection
- the connection to accept- Returns:
- whether the connection has been accepted
-
release
Returns the given connection, previously obtained via
acquire(boolean)
, 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
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()- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
-