package module; import com.google.inject.Provides; import com.google.inject.Singleton; import io.reactiverse.pgclient.PgPoolOptions; import io.reactiverse.rxjava.pgclient.PgClient; import io.vertx.rxjava.core.Vertx; import ratpack.guice.ConfigurableModule; import java.util.ArrayList; import java.util.List; public class PgClientModule extends ConfigurableModule { @Provides @Singleton public Vertx vertx() { return Vertx.vertx(); } @Provides @Singleton public PgClients pgClients(PgPoolOptions options, Vertx vertx) { List clients = new ArrayList<>(); for (int i = 0; i < Runtime.getRuntime().availableProcessors(); i++) { clients.add(PgClient.pool(vertx, options)); } return new PgClients(clients); } @Override protected void configure() { } }