PgClientModule.java 877 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. package module;
  2. import com.google.inject.Provides;
  3. import com.google.inject.Singleton;
  4. import io.reactiverse.pgclient.PgPoolOptions;
  5. import io.reactiverse.rxjava.pgclient.PgClient;
  6. import io.vertx.rxjava.core.Vertx;
  7. import ratpack.guice.ConfigurableModule;
  8. import java.util.ArrayList;
  9. import java.util.List;
  10. public class PgClientModule extends ConfigurableModule<PgPoolOptions> {
  11. @Provides
  12. @Singleton
  13. public Vertx vertx() {
  14. return Vertx.vertx();
  15. }
  16. @Provides
  17. @Singleton
  18. public PgClients pgClients(PgPoolOptions options, Vertx vertx) {
  19. List<PgClient> clients = new ArrayList<>();
  20. for (int i = 0; i < Runtime.getRuntime().availableProcessors(); i++) {
  21. clients.add(PgClient.pool(vertx, options));
  22. }
  23. return new PgClients(clients);
  24. }
  25. @Override
  26. protected void configure() {
  27. }
  28. }