Interface ConnectionPool

All Superinterfaces:
AutoCloseable, Closeable
All Known Implementing Classes:
AbstractConnectionPool, DuplexConnectionPool, LeakTrackingConnectionPool, MultiplexConnectionPool, RandomConnectionPool, RoundRobinConnectionPool, ValidatingConnectionPool

public interface ConnectionPool extends Closeable

Client-side connection pool abstraction.

  • Nested Class Summary

    Nested Classes
    Modifier and Type
    Interface
    Description
    static interface 
    Factory for ConnectionPool instances.
    static interface 
    Marks a connection pool as supporting multiplexed connections.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns an idle connection, if available, or schedules the opening of a new connection and returns null.
    void
    Closes this ConnectionPool.
    boolean
    isActive(Connection connection)
     
    boolean
     
    boolean
     
    preCreateConnections(int connectionCount)
    Optionally pre-create up to connectionCount connections so they are immediately ready for use.
    boolean
    release(Connection connection)
    Returns the given connection, previously obtained via acquire(), back to this ConnectionPool.
    boolean
    remove(Connection connection)
    Removes the given connection from this ConnectionPool.
  • Method Details

    • preCreateConnections

      default CompletableFuture<Void> preCreateConnections(int connectionCount)
      Optionally pre-create up to connectionCount 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:
    • 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 interface AutoCloseable
      Specified by:
      close in interface Closeable
      See Also: