x-sql-client.4.5.4.source-code.pool_config.adoc Maven / Gradle / Ivy
=== Server load balancing
You can configure the pool with a list of servers instead of a single server.
[source,$lang]
----
{@link examples.SqlClientExamples#poolConfig01}
----
The pool uses a round-robin load balancing when a connection is created to select different servers.
NOTE: this provides load balancing when the connection is created and not when the connection is borrowed from the pool.
=== Pool connection initialization
You can use the {@link io.vertx.sqlclient.ClientBuilder#withConnectHandler} to interact with a connection after it
has been created and before it is inserted in a pool.
[source,$lang]
----
{@link examples.SqlClientExamples#poolConfig02}
----
Once you are done with the connection, you should simply close it to signal the pool to use it.
=== Dynamic connection configuration
You can configure the pool connection details using a Java supplier instead of an instance of `SqlConnectOptions`.
Since the supplier is asynchronous, it can be used to provide dynamic pool configuration (e.g. password rotation).
[source,$lang]
----
{@link examples.SqlClientExamples#dynamicPoolConfig}
----