Package io.vertx.sqlclient
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 Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description Future<SqlConnection>
getConnection()
Get a connection from the pool.static Pool
pool(Vertx vertx, SqlConnectOptions database, PoolOptions options)
Create a connection pool to thedatabase
with the givenoptions
.static Pool
pool(SqlConnectOptions connectOptions)
Likepool(SqlConnectOptions, PoolOptions)
with default options.static Pool
pool(SqlConnectOptions database, PoolOptions options)
Likepool(Vertx, SqlConnectOptions, PoolOptions)
with a Vert.x instance created automatically.PreparedQuery<RowSet<Row>>
preparedQuery(String sql)
Create a prepared query, one of thePreparedQuery.execute(io.vertx.sqlclient.Tuple)
orPreparedQuery.executeBatch(java.util.List<io.vertx.sqlclient.Tuple>)
methods must be called to execute the query.Query<RowSet<Row>>
query(String sql)
Create a query, theQuery.execute()
method must be called to execute the query.int
size()
default <T> Future<T>
withConnection(java.util.function.Function<SqlConnection,Future<T>> function)
Get a connection from the pool and execute the givenfunction
.default <T> Future<T>
withTransaction(TransactionPropagation txPropagation, java.util.function.Function<SqlConnection,Future<T>> function)
LikewithTransaction(Function)
but allows for setting the mode, defining how the acquired connection is managed during the execution of the function.default <T> Future<T>
withTransaction(java.util.function.Function<SqlConnection,Future<T>> function)
Execute the givenfunction
within a transaction.-
Methods inherited from interface io.vertx.sqlclient.SqlClient
close, preparedQuery
-
-
-
-
Method Detail
-
pool
static Pool pool(SqlConnectOptions connectOptions)
Likepool(SqlConnectOptions, PoolOptions)
with default options.
-
pool
static Pool pool(SqlConnectOptions database, PoolOptions options)
Likepool(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 thedatabase
with the givenoptions
.A
Driver
will be selected among the drivers found on the classpath returningtrue
whenDriver.acceptsOptions(SqlConnectOptions)
applied to the first options of the list.- Parameters:
vertx
- the Vertx instance to be used with the connection pooldatabase
- the options used to create the connection pool, such as database hostnameoptions
- 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, theQuery.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.
-
preparedQuery
PreparedQuery<RowSet<Row>> preparedQuery(String sql)
Create a prepared query, one of thePreparedQuery.execute(io.vertx.sqlclient.Tuple)
orPreparedQuery.executeBatch(java.util.List<io.vertx.sqlclient.Tuple>)
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 interfaceSqlClient
- Returns:
- the prepared query
-
withTransaction
default <T> Future<T> withTransaction(java.util.function.Function<SqlConnection,Future<T>> function)
Execute the givenfunction
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, java.util.function.Function<SqlConnection,Future<T>> function)
LikewithTransaction(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(java.util.function.Function<SqlConnection,Future<T>> function)
Get a connection from the pool and execute the givenfunction
.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
-
-