<dependency>
<groupId>io.reactiverse</groupId>
<artifactId>postgresql-client</artifactId>
<version>0.12.1</version>
</dependency>
import io.reactiverse.pgclient.*;
import io.reactiverse.pgclient.PgPool;
import io.reactiverse.pgclient.PgPoolOptions;
import io.reactiverse.pgclient.Tuple;
import io.vertx.core.Future;
import io.vertx.core.Vertx;
public class PostgreSQLAsyncExample {
public static void main(String[] args) {
Vertx vertx = Vertx.vertx();
PgPoolOptions options = new PgPoolOptions()
.setPort(5432)
.setHost("localhost")
.setDatabase("your_database_name")
.setUser("your_username")
.setPassword("your_password");
PgPool client = PgClient.pool(vertx, options);
int concurrency = 10;
List<Future> futures = new ArrayList<>();
for (int i = 0; i < concurrency; i++) {
Future<Void> future = Future.future();
client.preparedQuery("SELECT * FROM your_table_name WHERE column = $1", Tuple.of("some_value"), ar -> {
if (ar.succeeded()) {
RowSet<Row> rowSet = ar.result();
future.complete();
} else {
future.fail(ar.cause());
}
});
futures.add(future);
}
Future<Void> allFutures = Future.future();
CompositeFuture.all(futures).setHandler(ar -> {
if (ar.succeeded()) {
allFutures.complete();
} else {
allFutures.fail(ar.cause());
}
});
allFutures.setHandler(ar -> {
if (ar.succeeded()) {
} else {
}
client.close();
vertx.close();
});
}
}