Skip to content

Commit d81a246

Browse files
committed
Use now a Supplier<Future<SqlConnectOptions>> instead of Supplier<SqlConnectOptions>
1 parent 2b05155 commit d81a246

File tree

28 files changed

+177
-102
lines changed

28 files changed

+177
-102
lines changed

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2ConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@
3838

3939
public class DB2ConnectionFactory extends ConnectionFactoryBase {
4040

41-
public DB2ConnectionFactory(VertxInternal vertx, Supplier<DB2ConnectOptions> options) {
41+
public DB2ConnectionFactory(VertxInternal vertx, Supplier<? extends Future<? extends SqlConnectOptions>> options) {
4242
super(vertx, options);
4343
}
4444

vertx-db2-client/src/main/java/io/vertx/db2client/impl/DB2ConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@
2525
import io.vertx.db2client.impl.command.PingCommand;
2626
import io.vertx.db2client.spi.DB2Driver;
2727
import io.vertx.sqlclient.impl.Connection;
28+
import io.vertx.sqlclient.impl.SingletonSupplier;
2829
import io.vertx.sqlclient.impl.SqlConnectionBase;
2930
import io.vertx.sqlclient.spi.ConnectionFactory;
3031

@@ -34,7 +35,7 @@ public static Future<DB2Connection> connect(Vertx vertx, DB2ConnectOptions optio
3435
ContextInternal ctx = (ContextInternal) vertx.getOrCreateContext();
3536
DB2ConnectionFactory client;
3637
try {
37-
client = new DB2ConnectionFactory(ctx.owner(), () -> options);
38+
client = new DB2ConnectionFactory(ctx.owner(), SingletonSupplier.wrap(options));
3839
} catch (Exception e) {
3940
return ctx.failedFuture(e);
4041
}

vertx-db2-client/src/main/java/io/vertx/db2client/spi/DB2Driver.java

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.vertx.db2client.spi;
1717

18+
import io.vertx.core.Future;
1819
import io.vertx.core.Vertx;
1920
import io.vertx.core.impl.CloseFuture;
2021
import io.vertx.core.impl.ContextInternal;
@@ -27,6 +28,7 @@
2728
import io.vertx.sqlclient.SqlConnectOptions;
2829
import io.vertx.sqlclient.impl.Connection;
2930
import io.vertx.sqlclient.impl.PoolImpl;
31+
import io.vertx.sqlclient.impl.SingletonSupplier;
3032
import io.vertx.sqlclient.impl.SqlConnectionInternal;
3133
import io.vertx.sqlclient.spi.ConnectionFactory;
3234
import io.vertx.sqlclient.spi.Driver;
@@ -40,7 +42,7 @@ public class DB2Driver implements Driver {
4042
public static final DB2Driver INSTANCE = new DB2Driver();
4143

4244
@Override
43-
public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
45+
public Pool newPool(Vertx vertx, Supplier<? extends Future<? extends SqlConnectOptions>> databases, PoolOptions options, CloseFuture closeFuture) {
4446
VertxInternal vx = (VertxInternal) vertx;
4547
PoolImpl pool;
4648
if (options.isShared()) {
@@ -51,11 +53,9 @@ public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases
5153
return new DB2PoolImpl(vx, closeFuture, pool);
5254
}
5355

54-
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
55-
DB2ConnectOptions baseConnectOptions = DB2ConnectOptions.wrap(databases.get());
56+
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends Future<? extends SqlConnectOptions>> databases, PoolOptions options, CloseFuture closeFuture) {
5657
boolean pipelinedPool = options instanceof Db2PoolOptions && ((Db2PoolOptions) options).isPipelined();
57-
int pipeliningLimit = pipelinedPool ? baseConnectOptions.getPipeliningLimit() : 1;
58-
PoolImpl pool = new PoolImpl(vertx, this, pipeliningLimit, options, null, null, closeFuture);
58+
PoolImpl pool = new PoolImpl(vertx, this, pipelinedPool, options, null, null, closeFuture);
5959
ConnectionFactory factory = createConnectionFactory(vertx, databases);
6060
pool.connectionProvider(factory::connect);
6161
pool.init();
@@ -76,12 +76,12 @@ public boolean acceptsOptions(SqlConnectOptions options) {
7676

7777
@Override
7878
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
79-
return new DB2ConnectionFactory((VertxInternal) vertx, () -> DB2ConnectOptions.wrap(database));
79+
return new DB2ConnectionFactory((VertxInternal) vertx, SingletonSupplier.wrap(database));
8080
}
8181

8282
@Override
83-
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends SqlConnectOptions> database) {
84-
return new DB2ConnectionFactory((VertxInternal) vertx, () -> DB2ConnectOptions.wrap(database.get()));
83+
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends Future<? extends SqlConnectOptions>> database) {
84+
return new DB2ConnectionFactory((VertxInternal) vertx, database);
8585
}
8686

8787
@Override

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/MSSQLPool.java

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.vertx.core.Vertx;
2121
import io.vertx.mssqlclient.spi.MSSQLDriver;
2222
import io.vertx.sqlclient.*;
23+
import io.vertx.sqlclient.impl.SingletonSupplier;
2324

2425
import java.util.List;
2526
import java.util.function.Function;
@@ -76,7 +77,7 @@ static MSSQLPool pool(MSSQLConnectOptions database, PoolOptions options) {
7677
* Like {@link #pool(MSSQLConnectOptions, PoolOptions)} with a specific {@link Vertx} instance.
7778
*/
7879
static MSSQLPool pool(Vertx vertx, MSSQLConnectOptions database, PoolOptions options) {
79-
return pool(vertx, () -> database, options);
80+
return pool(vertx, SingletonSupplier.wrap(database), options);
8081
}
8182

8283
/**
@@ -107,15 +108,15 @@ static MSSQLPool pool(Vertx vertx, List<MSSQLConnectOptions> databases, PoolOpti
107108
* @return the connection pool
108109
*/
109110
@GenIgnore
110-
static MSSQLPool pool(Supplier<MSSQLConnectOptions> databases, PoolOptions options) {
111+
static MSSQLPool pool(Supplier<Future<MSSQLConnectOptions>> databases, PoolOptions options) {
111112
return pool(null, databases, options);
112113
}
113114

114115
/**
115116
* Like {@link #pool(Supplier, PoolOptions)} with a specific {@link Vertx} instance.
116117
*/
117118
@GenIgnore
118-
static MSSQLPool pool(Vertx vertx, Supplier<MSSQLConnectOptions> databases, PoolOptions options) {
119+
static MSSQLPool pool(Vertx vertx, Supplier<Future<MSSQLConnectOptions>> databases, PoolOptions options) {
119120
return (MSSQLPool) MSSQLDriver.INSTANCE.createPool(vertx, databases, options);
120121
}
121122

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737

3838
public class MSSQLConnectionFactory extends ConnectionFactoryBase {
3939

40-
public MSSQLConnectionFactory(VertxInternal vertx, Supplier<MSSQLConnectOptions> options) {
40+
public MSSQLConnectionFactory(VertxInternal vertx, Supplier<? extends Future<? extends SqlConnectOptions>> options) {
4141
super(vertx, options);
4242
}
4343

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/impl/MSSQLConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
import io.vertx.mssqlclient.MSSQLInfo;
2121
import io.vertx.mssqlclient.spi.MSSQLDriver;
2222
import io.vertx.sqlclient.impl.Connection;
23+
import io.vertx.sqlclient.impl.SingletonSupplier;
2324
import io.vertx.sqlclient.impl.SocketConnectionBase;
2425
import io.vertx.sqlclient.impl.SqlConnectionBase;
2526
import io.vertx.sqlclient.spi.ConnectionFactory;
@@ -34,7 +35,7 @@ public MSSQLConnectionImpl(ContextInternal context, ConnectionFactory factory, C
3435

3536
public static Future<MSSQLConnection> connect(Vertx vertx, MSSQLConnectOptions options) {
3637
ContextInternal ctx = (ContextInternal) vertx.getOrCreateContext();
37-
MSSQLConnectionFactory client = new MSSQLConnectionFactory(ctx.owner(), () -> options);
38+
MSSQLConnectionFactory client = new MSSQLConnectionFactory(ctx.owner(), SingletonSupplier.wrap(options));
3839
ctx.addCloseHook(client);
3940
return (Future)client.connect(ctx);
4041
}

vertx-mssql-client/src/main/java/io/vertx/mssqlclient/spi/MSSQLDriver.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
*/
1616
package io.vertx.mssqlclient.spi;
1717

18+
import io.vertx.core.Future;
1819
import io.vertx.core.Vertx;
1920
import io.vertx.core.impl.CloseFuture;
2021
import io.vertx.core.impl.ContextInternal;
@@ -30,6 +31,7 @@
3031
import io.vertx.sqlclient.SqlConnectOptions;
3132
import io.vertx.sqlclient.impl.Connection;
3233
import io.vertx.sqlclient.impl.PoolImpl;
34+
import io.vertx.sqlclient.impl.SingletonSupplier;
3335
import io.vertx.sqlclient.impl.SqlConnectionInternal;
3436
import io.vertx.sqlclient.spi.ConnectionFactory;
3537
import io.vertx.sqlclient.spi.Driver;
@@ -43,7 +45,7 @@ public class MSSQLDriver implements Driver {
4345
public static final MSSQLDriver INSTANCE = new MSSQLDriver();
4446

4547
@Override
46-
public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
48+
public Pool newPool(Vertx vertx, Supplier<? extends Future<? extends SqlConnectOptions>> databases, PoolOptions options, CloseFuture closeFuture) {
4749
VertxInternal vx = (VertxInternal) vertx;
4850
PoolImpl pool;
4951
if (options.isShared()) {
@@ -54,9 +56,8 @@ public Pool newPool(Vertx vertx, Supplier<? extends SqlConnectOptions> databases
5456
return new MSSQLPoolImpl(vx, closeFuture, pool);
5557
}
5658

57-
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends SqlConnectOptions> databases, PoolOptions options, CloseFuture closeFuture) {
58-
MSSQLConnectOptions baseConnectOptions = MSSQLConnectOptions.wrap(databases.get());
59-
PoolImpl pool = new PoolImpl(vertx, this, 1, options, null, null, closeFuture);
59+
private PoolImpl newPoolImpl(VertxInternal vertx, Supplier<? extends Future<? extends SqlConnectOptions>> databases, PoolOptions options, CloseFuture closeFuture) {
60+
PoolImpl pool = new PoolImpl(vertx, this, false, options, null, null, closeFuture);
6061
ConnectionFactory factory = createConnectionFactory(vertx, databases);
6162
pool.connectionProvider(context -> factory.connect(context, databases.get()));
6263
pool.init();
@@ -77,12 +78,12 @@ public boolean acceptsOptions(SqlConnectOptions options) {
7778

7879
@Override
7980
public ConnectionFactory createConnectionFactory(Vertx vertx, SqlConnectOptions database) {
80-
return new MSSQLConnectionFactory((VertxInternal) vertx, () -> MSSQLConnectOptions.wrap(database));
81+
return new MSSQLConnectionFactory((VertxInternal) vertx, SingletonSupplier.wrap(database));
8182
}
8283

8384
@Override
84-
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends SqlConnectOptions> database) {
85-
return new MSSQLConnectionFactory((VertxInternal) vertx, () -> MSSQLConnectOptions.wrap(database.get()));
85+
public ConnectionFactory createConnectionFactory(Vertx vertx, Supplier<? extends Future<? extends SqlConnectOptions>> database) {
86+
return new MSSQLConnectionFactory((VertxInternal) vertx, database);
8687
}
8788

8889
@Override

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/MySQLPool.java

Lines changed: 8 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import io.vertx.sqlclient.PoolOptions;
2525
import io.vertx.sqlclient.SqlClient;
2626
import io.vertx.sqlclient.SqlConnection;
27+
import io.vertx.sqlclient.impl.SingletonSupplier;
2728

2829
import java.util.List;
2930
import java.util.function.Function;
@@ -80,7 +81,7 @@ static MySQLPool pool(MySQLConnectOptions database, PoolOptions options) {
8081
* Like {@link #pool(MySQLConnectOptions, PoolOptions)} with a specific {@link Vertx} instance.
8182
*/
8283
static MySQLPool pool(Vertx vertx, MySQLConnectOptions database, PoolOptions options) {
83-
return pool(vertx, () -> database, options);
84+
return pool(vertx, SingletonSupplier.wrap(database), options);
8485
}
8586

8687
/**
@@ -111,15 +112,15 @@ static MySQLPool pool(Vertx vertx, List<MySQLConnectOptions> databases, PoolOpti
111112
* @return the connection pool
112113
*/
113114
@GenIgnore
114-
static MySQLPool pool(Supplier<MySQLConnectOptions> databases, PoolOptions options) {
115+
static MySQLPool pool(Supplier<Future<MySQLConnectOptions>> databases, PoolOptions options) {
115116
return pool(null, databases, options);
116117
}
117118

118119
/**
119120
* Like {@link #pool(Supplier, PoolOptions)} with a specific {@link Vertx} instance.
120121
*/
121122
@GenIgnore
122-
static MySQLPool pool(Vertx vertx, Supplier<MySQLConnectOptions> databases, PoolOptions options) {
123+
static MySQLPool pool(Vertx vertx, Supplier<Future<MySQLConnectOptions>> databases, PoolOptions options) {
123124
return (MySQLPool) MySQLDriver.INSTANCE.createPool(vertx, databases, options);
124125
}
125126
/**
@@ -157,14 +158,14 @@ static SqlClient client(Vertx vertx, String connectionUri, PoolOptions poolOptio
157158
* @return the client
158159
*/
159160
static SqlClient client(MySQLConnectOptions connectOptions, PoolOptions poolOptions) {
160-
return client(null, () -> connectOptions, poolOptions);
161+
return client(null, SingletonSupplier.wrap(connectOptions), poolOptions);
161162
}
162163

163164
/**
164165
* Like {@link #client(MySQLConnectOptions, PoolOptions)} with a specific {@link Vertx} instance.
165166
*/
166167
static SqlClient client(Vertx vertx, MySQLConnectOptions connectOptions, PoolOptions poolOptions) {
167-
return client(vertx, () -> connectOptions, poolOptions);
168+
return client(vertx, SingletonSupplier.wrap(connectOptions), poolOptions);
168169
}
169170

170171
/**
@@ -190,7 +191,7 @@ static SqlClient client(List<MySQLConnectOptions> databases, PoolOptions options
190191
* Like {@link #client(Supplier, PoolOptions)} with a specific {@link Vertx} instance.
191192
*/
192193
@GenIgnore
193-
static SqlClient client(Vertx vertx, Supplier<MySQLConnectOptions> mySQLConnectOptions, PoolOptions options) {
194+
static SqlClient client(Vertx vertx, Supplier<Future<MySQLConnectOptions>> mySQLConnectOptions, PoolOptions options) {
194195
return MySQLDriver.INSTANCE.createPool(vertx, mySQLConnectOptions, new MySQLPoolOptions(options).setPipelined(true));
195196
}
196197

@@ -203,7 +204,7 @@ static SqlClient client(Vertx vertx, Supplier<MySQLConnectOptions> mySQLConnectO
203204
* @return the pooled client
204205
*/
205206
@GenIgnore
206-
static SqlClient client(Supplier<MySQLConnectOptions> databases, PoolOptions options) {
207+
static SqlClient client(Supplier<Future<MySQLConnectOptions>> databases, PoolOptions options) {
207208
return client(null, databases, options);
208209
}
209210

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@
3939

4040
public class MySQLConnectionFactory extends ConnectionFactoryBase {
4141

42-
public MySQLConnectionFactory(VertxInternal vertx, Supplier<MySQLConnectOptions> options) {
42+
public MySQLConnectionFactory(VertxInternal vertx, Supplier<? extends Future<? extends SqlConnectOptions>> options) {
4343
super(vertx, options);
4444
}
4545

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/impl/MySQLConnectionImpl.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
import io.vertx.mysqlclient.impl.command.*;
2424
import io.vertx.mysqlclient.spi.MySQLDriver;
2525
import io.vertx.sqlclient.impl.Connection;
26+
import io.vertx.sqlclient.impl.SingletonSupplier;
2627
import io.vertx.sqlclient.impl.SqlConnectionBase;
2728
import io.vertx.sqlclient.spi.ConnectionFactory;
2829

@@ -34,7 +35,7 @@ public static Future<MySQLConnection> connect(ContextInternal ctx, MySQLConnectO
3435
}
3536
MySQLConnectionFactory client;
3637
try {
37-
client = new MySQLConnectionFactory(ctx.owner(), () -> options);
38+
client = new MySQLConnectionFactory(ctx.owner(), SingletonSupplier.wrap(options));
3839
} catch (Exception e) {
3940
return ctx.failedFuture(e);
4041
}

0 commit comments

Comments
 (0)