=== Server load balancing

You can configure the pool with a list of servers instead of a single server.

[source,java]
----

----

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:../../apidocs/io/vertx/sqlclient/ClientBuilder.html#withConnectHandler-io.vertx.core.Handler-[withConnectHandler]` to interact with a connection after it
has been created and before it is inserted in a pool.

[source,java]
----

----

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,java]
----
Pool pool = OracleBuilder.pool()
  .with(poolOptions)
  .connectingTo(() -> {
    Future<SqlConnectOptions> connectOptions = retrieveOptions();
    return connectOptions;
  })
  .using(vertx)
  .build();
----