Skip to content

Commit 662a02b

Browse files
authored
Drivers should create a connection factory with transport options (#1630) (#1631)
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 6fdc59f commit 662a02b

File tree

9 files changed

+44
-30
lines changed

9 files changed

+44
-30
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,17 +16,18 @@
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;
2728
import io.vertx.sqlclient.SqlConnection;
28-
import io.vertx.sqlclient.internal.Connection;
2929
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
30+
import io.vertx.sqlclient.internal.Connection;
3031

3132
import java.util.Map;
3233

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

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

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@
3232
import io.vertx.sqlclient.SqlConnectOptions;
3333
import io.vertx.sqlclient.SqlConnection;
3434
import io.vertx.sqlclient.internal.Connection;
35+
import io.vertx.sqlclient.internal.SqlConnectionInternal;
3536
import io.vertx.sqlclient.internal.pool.CloseablePool;
3637
import io.vertx.sqlclient.internal.pool.PoolImpl;
37-
import io.vertx.sqlclient.internal.SqlConnectionInternal;
3838
import io.vertx.sqlclient.spi.ConnectionFactory;
3939
import io.vertx.sqlclient.spi.Driver;
4040

@@ -73,7 +73,7 @@ private PoolImpl newPoolImpl(VertxInternal vertx, Handler<SqlConnection> connect
7373

7474
@Override
7575
public ConnectionFactory<MSSQLConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
76-
return new MSSQLConnectionFactory((VertxInternal) vertx);
76+
return new MSSQLConnectionFactory((VertxInternal) vertx, transportOptions);
7777
}
7878

7979
@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,20 +17,16 @@
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;
3127
import io.vertx.sqlclient.SqlConnection;
32-
import io.vertx.sqlclient.internal.Connection;
3328
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
29+
import io.vertx.sqlclient.internal.Connection;
3430

3531
import java.nio.charset.Charset;
3632
import java.util.Map;
@@ -44,6 +40,10 @@ public MySQLConnectionFactory(VertxInternal vertx) {
4440
super(vertx);
4541
}
4642

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

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,15 +24,18 @@
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;
3235
import io.vertx.sqlclient.internal.Connection;
36+
import io.vertx.sqlclient.internal.SqlConnectionInternal;
3337
import io.vertx.sqlclient.internal.pool.CloseablePool;
3438
import io.vertx.sqlclient.internal.pool.PoolImpl;
35-
import io.vertx.sqlclient.internal.SqlConnectionInternal;
3639
import io.vertx.sqlclient.spi.ConnectionFactory;
3740
import io.vertx.sqlclient.spi.Driver;
3841

@@ -83,7 +86,7 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8386

8487
@Override
8588
public ConnectionFactory<MySQLConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
86-
return new MySQLConnectionFactory((VertxInternal) vertx);
89+
return new MySQLConnectionFactory((VertxInternal) vertx, transportOptions);
8790
}
8891

8992
@Override

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

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
import io.vertx.core.Completable;
1414
import io.vertx.core.Context;
1515
import io.vertx.core.Future;
16-
import io.vertx.core.Promise;
1716
import io.vertx.core.internal.ContextInternal;
1817
import io.vertx.core.internal.VertxInternal;
1918
import io.vertx.core.json.JsonObject;
@@ -36,7 +35,7 @@ public class OracleConnectionFactory implements ConnectionFactory<OracleConnectO
3635

3736
private final Map<JsonObject, OracleDataSource> datasources;
3837

39-
public OracleConnectionFactory(VertxInternal vertx) {
38+
public OracleConnectionFactory() {
4039
this.datasources = new HashMap<>();
4140
}
4241

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -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 prepareForClose(ctx, client.connect(ctx, options)).map(OracleConnection::cast);
3434
}
3535
}

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

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,15 +19,18 @@
1919
import io.vertx.core.json.JsonObject;
2020
import io.vertx.core.net.NetClientOptions;
2121
import io.vertx.oracleclient.OracleConnectOptions;
22-
import io.vertx.oracleclient.impl.*;
22+
import io.vertx.oracleclient.impl.OracleConnectionFactory;
23+
import io.vertx.oracleclient.impl.OracleConnectionImpl;
24+
import io.vertx.oracleclient.impl.OracleConnectionUriParser;
25+
import io.vertx.oracleclient.impl.OracleJdbcConnection;
2326
import io.vertx.sqlclient.Pool;
2427
import io.vertx.sqlclient.PoolOptions;
2528
import io.vertx.sqlclient.SqlConnectOptions;
2629
import io.vertx.sqlclient.SqlConnection;
2730
import io.vertx.sqlclient.internal.Connection;
31+
import io.vertx.sqlclient.internal.SqlConnectionInternal;
2832
import io.vertx.sqlclient.internal.pool.CloseablePool;
2933
import io.vertx.sqlclient.internal.pool.PoolImpl;
30-
import io.vertx.sqlclient.internal.SqlConnectionInternal;
3134
import io.vertx.sqlclient.spi.ConnectionFactory;
3235
import io.vertx.sqlclient.spi.Driver;
3336

@@ -80,7 +83,7 @@ public boolean acceptsOptions(SqlConnectOptions options) {
8083

8184
@Override
8285
public ConnectionFactory<OracleConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
83-
return new OracleConnectionFactory((VertxInternal) vertx);
86+
return new OracleConnectionFactory();
8487
}
8588

8689
@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,18 +19,18 @@
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;
3131
import io.vertx.sqlclient.SqlConnection;
32-
import io.vertx.sqlclient.internal.Connection;
3332
import io.vertx.sqlclient.impl.ConnectionFactoryBase;
33+
import io.vertx.sqlclient.internal.Connection;
3434

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

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

4852
private void checkSslMode(PgConnectOptions options) {

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

Lines changed: 4 additions & 4 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;
@@ -18,9 +18,9 @@
1818
import io.vertx.sqlclient.SqlConnectOptions;
1919
import io.vertx.sqlclient.SqlConnection;
2020
import io.vertx.sqlclient.internal.Connection;
21+
import io.vertx.sqlclient.internal.SqlConnectionInternal;
2122
import io.vertx.sqlclient.internal.pool.CloseablePool;
2223
import io.vertx.sqlclient.internal.pool.PoolImpl;
23-
import io.vertx.sqlclient.internal.SqlConnectionInternal;
2424
import io.vertx.sqlclient.spi.ConnectionFactory;
2525
import io.vertx.sqlclient.spi.Driver;
2626

@@ -71,7 +71,7 @@ public PgConnectOptions downcast(SqlConnectOptions connectOptions) {
7171

7272
@Override
7373
public ConnectionFactory<PgConnectOptions> createConnectionFactory(Vertx vertx, NetClientOptions transportOptions) {
74-
return new PgConnectionFactory((VertxInternal) vertx);
74+
return new PgConnectionFactory((VertxInternal) vertx, transportOptions);
7575
}
7676

7777
@Override

0 commit comments

Comments
 (0)