Interface Pool

All Superinterfaces:
SqlClient
All Known Subinterfaces:
JDBCPool

public interface Pool extends SqlClient
A connection pool which reuses a number of SQL connections.
Author:
Julien Viet
  • Method Details

    • pool

      static Pool pool(SqlConnectOptions connectOptions)
      Like pool(SqlConnectOptions, PoolOptions) with default options.
    • pool

      static Pool pool(SqlConnectOptions database, PoolOptions options)
      Like pool(Vertx, SqlConnectOptions, PoolOptions) with a Vert.x instance created automatically.
    • pool

      static Pool pool(Vertx vertx, SqlConnectOptions database, PoolOptions options)
      Create a connection pool to the database with the given options.

      A Driver will be selected among the drivers found on the classpath returning true when Driver.acceptsOptions(SqlConnectOptions) applied to the first options of the list.

      Parameters:
      vertx - the Vertx instance to be used with the connection pool
      database - the options used to create the connection pool, such as database hostname
      options - the options for creating the pool
      Returns:
      the connection pool
      Throws:
      ServiceConfigurationError - if no compatible drivers are found, or if multiple compatible drivers are found
    • getConnection

      Future<SqlConnection> getConnection()
      Get a connection from the pool.
      Returns:
      a future notified with the SqlConnection
    • query

      Query<RowSet<Row>> query(String sql)
      Create a query, the Query.execute() method must be called to execute the query. A connection is borrowed from the connection pool when the query is executed and then immediately returned to the pool after it completes.
      Specified by:
      query in interface SqlClient
      Returns:
      the query
    • preparedQuery

      PreparedQuery<RowSet<Row>> preparedQuery(String sql)
      Create a prepared query, one of the PreparedQuery.execute(Tuple) or PreparedQuery.executeBatch(List) methods must be called to execute the query. A connection is borrowed from the connection pool when the query is executed and then immediately returned to the pool after it completes.
      Specified by:
      preparedQuery in interface SqlClient
      Returns:
      the prepared query
    • withTransaction

      default <T> Future<T> withTransaction(Function<SqlConnection, Future<T>> function)
      Execute the given function within a transaction.

      The function is passed a client executing all operations within a transaction. When the future returned by the function

      • succeeds the transaction commits
      • fails the transaction rollbacks

      The handler is given a success result when the function returns a succeeded futures and the transaction commits. Otherwise it is given a failure result.

      Parameters:
      function - the code to execute
      Returns:
      a future notified with the result
    • withTransaction

      default <T> Future<T> withTransaction(TransactionPropagation txPropagation, Function<SqlConnection, Future<T>> function)
      Like withTransaction(Function) but allows for setting the mode, defining how the acquired connection is managed during the execution of the function.
    • withConnection

      default <T> Future<T> withConnection(Function<SqlConnection, Future<T>> function)
      Get a connection from the pool and execute the given function.

      When the future returned by the function completes, the connection is returned to the pool.

      The handler is given a success result when the function returns a succeeded futures. Otherwise it is given a failure result.

      Parameters:
      function - the code to execute
      Returns:
      a future notified with the result
    • size

      int size()
      Returns:
      the current pool size approximation