Skip to content

Commit b3c8318

Browse files
authored
Drivers should create a connection factory with transport options (#1630)
Otherwise, user provided transport options will not be taken into account when creating connections (e.g. TCP_NODELAY). Also, remove redundant OracleConnectionFactory Vertx param. OracleConnectionFactory does not need it Signed-off-by: Thomas Segismont <tsegismont@gmail.com>
1 parent 900cc1f commit b3c8318

File tree

9 files changed

+49
-35
lines changed

9 files changed

+49
-35
lines changed

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

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,16 +16,17 @@
1616
import io.vertx.core.Promise;
1717
import io.vertx.core.internal.ContextInternal;
1818
import io.vertx.core.internal.VertxInternal;
19+
import io.vertx.core.internal.net.NetSocketInternal;
1920
import io.vertx.core.internal.tls.SslContextManager;
2021
import io.vertx.core.net.HostAndPort;
22+
import io.vertx.core.net.NetClientOptions;
2123
import io.vertx.core.net.NetSocket;
2224
import io.vertx.core.net.SocketAddress;
23-
import io.vertx.core.internal.net.NetSocketInternal;
2425
import io.vertx.core.spi.metrics.ClientMetrics;
2526
import io.vertx.core.spi.metrics.VertxMetrics;
2627
import io.vertx.mssqlclient.MSSQLConnectOptions;
27-
import io.vertx.sqlclient.spi.connection.Connection;
2828
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
29+
import io.vertx.sqlclient.spi.connection.Connection;
2930

3031
import java.util.Map;
3132

@@ -36,7 +37,11 @@ public class MSSQLConnectionFactory extends ConnectionFactoryBase<MSSQLConnectOp
3637
private final SslContextManager sslContextManager;
3738

3839
public MSSQLConnectionFactory(VertxInternal vertx) {
39-
super(vertx);
40+
this(vertx, new NetClientOptions());
41+
}
42+
43+
public MSSQLConnectionFactory(VertxInternal vertx, NetClientOptions transportOptions) {
44+
super(vertx, transportOptions);
4045
sslContextManager = new SslContextManager(SslContextManager.resolveEngineOptions(tcpOptions.getSslEngineOptions(), tcpOptions.isUseAlpn()));
4146
}
4247

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -25,10 +25,10 @@
2525
import io.vertx.mssqlclient.impl.MSSQLConnectionImpl;
2626
import io.vertx.mssqlclient.impl.MSSQLConnectionUriParser;
2727
import io.vertx.sqlclient.SqlConnectOptions;
28-
import io.vertx.sqlclient.spi.connection.Connection;
2928
import io.vertx.sqlclient.internal.SqlConnectionInternal;
30-
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
3129
import io.vertx.sqlclient.spi.DriverBase;
30+
import io.vertx.sqlclient.spi.connection.Connection;
31+
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
3232

3333
public class MSSQLDriver extends DriverBase<MSSQLConnectOptions> {
3434

@@ -47,7 +47,7 @@ public MSSQLConnectOptions downcast(SqlConnectOptions connectOptions) {
4747

4848
@Override
4949
public ConnectionFactory<MSSQLConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
50-
return new MSSQLConnectionFactory((VertxInternal) vertx);
50+
return new MSSQLConnectionFactory((VertxInternal) vertx, transportOptions);
5151
}
5252

5353
@Override

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

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -17,19 +17,15 @@
1717
import io.vertx.core.buffer.Buffer;
1818
import io.vertx.core.internal.ContextInternal;
1919
import io.vertx.core.internal.VertxInternal;
20-
import io.vertx.core.net.ConnectOptions;
21-
import io.vertx.core.net.ClientSSLOptions;
22-
import io.vertx.core.net.NetSocket;
23-
import io.vertx.core.net.SocketAddress;
24-
import io.vertx.core.net.TrustOptions;
2520
import io.vertx.core.internal.net.NetSocketInternal;
21+
import io.vertx.core.net.*;
2622
import io.vertx.core.spi.metrics.ClientMetrics;
2723
import io.vertx.core.spi.metrics.VertxMetrics;
2824
import io.vertx.mysqlclient.MySQLAuthenticationPlugin;
2925
import io.vertx.mysqlclient.MySQLConnectOptions;
3026
import io.vertx.mysqlclient.SslMode;
31-
import io.vertx.sqlclient.spi.connection.Connection;
3227
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
28+
import io.vertx.sqlclient.spi.connection.Connection;
3329

3430
import java.nio.charset.Charset;
3531
import java.util.Map;
@@ -43,6 +39,10 @@ public MySQLConnectionFactory(VertxInternal vertx) {
4339
super(vertx);
4440
}
4541

42+
public MySQLConnectionFactory(VertxInternal vertx, NetClientOptions tranportOptions) {
43+
super(vertx, tranportOptions);
44+
}
45+
4646
@Override
4747
protected Future<Connection> doConnectInternal(MySQLConnectOptions options, ContextInternal context) {
4848
SslMode sslMode = options.isUsingDomainSocket() ? SslMode.DISABLED : options.getSslMode();

vertx-mysql-client/src/main/java/io/vertx/mysqlclient/spi/MySQLDriver.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,16 +24,19 @@
2424
import io.vertx.core.json.JsonObject;
2525
import io.vertx.core.net.NetClientOptions;
2626
import io.vertx.mysqlclient.MySQLConnectOptions;
27-
import io.vertx.mysqlclient.impl.*;
27+
import io.vertx.mysqlclient.impl.MySQLConnectionFactory;
28+
import io.vertx.mysqlclient.impl.MySQLConnectionImpl;
29+
import io.vertx.mysqlclient.impl.MySQLConnectionUriParser;
30+
import io.vertx.mysqlclient.impl.MySQLPoolOptions;
2831
import io.vertx.sqlclient.Pool;
2932
import io.vertx.sqlclient.PoolOptions;
3033
import io.vertx.sqlclient.SqlConnectOptions;
3134
import io.vertx.sqlclient.SqlConnection;
32-
import io.vertx.sqlclient.spi.connection.Connection;
3335
import io.vertx.sqlclient.impl.pool.PoolImpl;
3436
import io.vertx.sqlclient.internal.SqlConnectionInternal;
35-
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
3637
import io.vertx.sqlclient.spi.DriverBase;
38+
import io.vertx.sqlclient.spi.connection.Connection;
39+
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
3740

3841
import java.util.function.Supplier;
3942

@@ -76,7 +79,7 @@ public boolean acceptsOptions(SqlConnectOptions options) {
7679

7780
@Override
7881
public ConnectionFactory<MySQLConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
79-
return new MySQLConnectionFactory((VertxInternal) vertx);
82+
return new MySQLConnectionFactory((VertxInternal) vertx, transportOptions);
8083
}
8184

8285
@Override

vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleConnectionFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,7 @@ public class OracleConnectionFactory implements ConnectionFactory<OracleConnectO
3535

3636
private final Map<JsonObject, OracleDataSource> datasources;
3737

38-
public OracleConnectionFactory(VertxInternal vertx) {
38+
public OracleConnectionFactory() {
3939
this.datasources = new HashMap<>();
4040
}
4141

vertx-oracle-client/src/main/java/io/vertx/oracleclient/impl/OracleConnectionImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,8 @@
1717
import io.vertx.oracleclient.OracleConnectOptions;
1818
import io.vertx.oracleclient.OracleConnection;
1919
import io.vertx.oracleclient.spi.OracleDriver;
20-
import io.vertx.sqlclient.spi.connection.Connection;
2120
import io.vertx.sqlclient.internal.SqlConnectionBase;
21+
import io.vertx.sqlclient.spi.connection.Connection;
2222
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
2323

2424
public class OracleConnectionImpl extends SqlConnectionBase<OracleConnectionImpl> implements OracleConnection {
@@ -29,7 +29,7 @@ public OracleConnectionImpl(ContextInternal context, ConnectionFactory factory,
2929

3030
public static Future<OracleConnection> connect(Vertx vertx, OracleConnectOptions options) {
3131
ContextInternal ctx = (ContextInternal) vertx.getOrCreateContext();
32-
OracleConnectionFactory client = new OracleConnectionFactory(ctx.owner());
32+
OracleConnectionFactory client = new OracleConnectionFactory();
3333
return client.connect(ctx, options).map(conn -> {
3434
OracleConnectionImpl impl = new OracleConnectionImpl(ctx, client, conn);
3535
conn.init(impl);

vertx-oracle-client/src/main/java/io/vertx/oracleclient/spi/OracleDriver.java

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -13,16 +13,18 @@
1313
import io.vertx.core.Future;
1414
import io.vertx.core.Vertx;
1515
import io.vertx.core.internal.ContextInternal;
16-
import io.vertx.core.internal.VertxInternal;
1716
import io.vertx.core.json.JsonObject;
1817
import io.vertx.core.net.NetClientOptions;
1918
import io.vertx.oracleclient.OracleConnectOptions;
20-
import io.vertx.oracleclient.impl.*;
19+
import io.vertx.oracleclient.impl.OracleConnectionFactory;
20+
import io.vertx.oracleclient.impl.OracleConnectionImpl;
21+
import io.vertx.oracleclient.impl.OracleConnectionUriParser;
22+
import io.vertx.oracleclient.impl.OracleJdbcConnection;
2123
import io.vertx.sqlclient.SqlConnectOptions;
22-
import io.vertx.sqlclient.spi.connection.Connection;
2324
import io.vertx.sqlclient.internal.SqlConnectionInternal;
24-
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
2525
import io.vertx.sqlclient.spi.DriverBase;
26+
import io.vertx.sqlclient.spi.connection.Connection;
27+
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
2628

2729
import java.util.function.Function;
2830

@@ -57,7 +59,7 @@ public boolean acceptsOptions(SqlConnectOptions options) {
5759

5860
@Override
5961
public ConnectionFactory<OracleConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
60-
return new OracleConnectionFactory((VertxInternal) vertx);
62+
return new OracleConnectionFactory();
6163
}
6264

6365
@Override

vertx-pg-client/src/main/java/io/vertx/pgclient/impl/PgConnectionFactory.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -19,17 +19,17 @@
1919

2020
import io.vertx.core.Context;
2121
import io.vertx.core.Future;
22-
import io.vertx.core.net.*;
23-
import io.vertx.core.spi.metrics.ClientMetrics;
24-
import io.vertx.core.spi.metrics.VertxMetrics;
2522
import io.vertx.core.internal.ContextInternal;
2623
import io.vertx.core.internal.PromiseInternal;
2724
import io.vertx.core.internal.VertxInternal;
2825
import io.vertx.core.internal.net.NetSocketInternal;
26+
import io.vertx.core.net.*;
27+
import io.vertx.core.spi.metrics.ClientMetrics;
28+
import io.vertx.core.spi.metrics.VertxMetrics;
2929
import io.vertx.pgclient.PgConnectOptions;
3030
import io.vertx.pgclient.SslMode;
31-
import io.vertx.sqlclient.spi.connection.Connection;
3231
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
32+
import io.vertx.sqlclient.spi.connection.Connection;
3333

3434
import java.util.Collections;
3535
import java.util.Map;
@@ -40,8 +40,12 @@
4040
*/
4141
public class PgConnectionFactory extends ConnectionFactoryBase<PgConnectOptions> {
4242

43-
public PgConnectionFactory(VertxInternal context) {
44-
super(context);
43+
public PgConnectionFactory(VertxInternal vertx) {
44+
super(vertx);
45+
}
46+
47+
public PgConnectionFactory(VertxInternal vertx, NetClientOptions transportOptions) {
48+
super(vertx, transportOptions);
4549
}
4650

4751
private void checkSslMode(PgConnectOptions options) {

vertx-pg-client/src/main/java/io/vertx/pgclient/spi/PgDriver.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,11 @@
33
import io.vertx.core.Future;
44
import io.vertx.core.Handler;
55
import io.vertx.core.Vertx;
6-
import io.vertx.core.json.JsonObject;
7-
import io.vertx.core.net.NetClientOptions;
86
import io.vertx.core.internal.CloseFuture;
97
import io.vertx.core.internal.ContextInternal;
108
import io.vertx.core.internal.VertxInternal;
9+
import io.vertx.core.json.JsonObject;
10+
import io.vertx.core.net.NetClientOptions;
1111
import io.vertx.pgclient.PgConnectOptions;
1212
import io.vertx.pgclient.impl.PgConnectionFactory;
1313
import io.vertx.pgclient.impl.PgConnectionImpl;
@@ -17,11 +17,11 @@
1717
import io.vertx.sqlclient.PoolOptions;
1818
import io.vertx.sqlclient.SqlConnectOptions;
1919
import io.vertx.sqlclient.SqlConnection;
20-
import io.vertx.sqlclient.spi.connection.Connection;
2120
import io.vertx.sqlclient.impl.pool.PoolImpl;
2221
import io.vertx.sqlclient.internal.SqlConnectionInternal;
23-
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
2422
import io.vertx.sqlclient.spi.DriverBase;
23+
import io.vertx.sqlclient.spi.connection.Connection;
24+
import io.vertx.sqlclient.spi.connection.ConnectionFactory;
2525

2626
import java.util.function.Supplier;
2727

@@ -64,7 +64,7 @@ public PgConnectOptions downcast(SqlConnectOptions connectOptions) {
6464

6565
@Override
6666
public ConnectionFactory<PgConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
67-
return new PgConnectionFactory((VertxInternal) vertx);
67+
return new PgConnectionFactory((VertxInternal) vertx, transportOptions);
6868
}
6969

7070
@Override

0 commit comments

Comments
 (0)