11package org .prebid .server .spring .config .database ;
22
33import io .vertx .core .Vertx ;
4+ import io .vertx .core .net .NetClientOptions ;
45import io .vertx .mysqlclient .MySQLBuilder ;
56import io .vertx .mysqlclient .MySQLConnectOptions ;
67import io .vertx .pgclient .PgBuilder ;
@@ -84,19 +85,20 @@ Pool mysqlConnectionPool(Vertx vertx,
8485 .setDatabase (databaseAddress .getDatabaseName ())
8586 .setUser (connectionPoolSettings .getUser ())
8687 .setPassword (connectionPoolSettings .getPassword ())
87- .setSsl (false )
88- .setTcpKeepAlive (true )
8988 .setCachePreparedStatements (connectionPoolSettings .getEnablePreparedStatementCaching ())
90- .setPreparedStatementCacheMaxSize (connectionPoolSettings .getMaxPreparedStatementCacheSize ())
91- .setIdleTimeout (connectionPoolSettings .getIdleTimeout ())
92- .setIdleTimeoutUnit (TimeUnit .SECONDS );
89+ .setPreparedStatementCacheMaxSize (connectionPoolSettings .getMaxPreparedStatementCacheSize ());
90+
91+ final NetClientOptions netClientOptions = new NetClientOptions ()
92+ .setTcpKeepAlive (true );
9393
9494 final PoolOptions poolOptions = new PoolOptions ()
95- .setMaxSize (connectionPoolSettings .getPoolSize ());
95+ .setMaxSize (connectionPoolSettings .getPoolSize ())
96+ .setIdleTimeout (connectionPoolSettings .getIdleTimeout ())
97+ .setIdleTimeoutUnit (TimeUnit .SECONDS );
9698
97- return MySQLBuilder
98- .pool ()
99+ return MySQLBuilder .pool ()
99100 .with (poolOptions )
101+ .with (netClientOptions )
100102 .connectingTo (sqlConnectOptions )
101103 .using (vertx )
102104 .build ();
@@ -114,19 +116,20 @@ Pool postgresConnectionPool(Vertx vertx,
114116 .setDatabase (databaseAddress .getDatabaseName ())
115117 .setUser (connectionPoolSettings .getUser ())
116118 .setPassword (connectionPoolSettings .getPassword ())
117- .setSsl (false )
118- .setTcpKeepAlive (true )
119119 .setCachePreparedStatements (connectionPoolSettings .getEnablePreparedStatementCaching ())
120- .setPreparedStatementCacheMaxSize (connectionPoolSettings .getMaxPreparedStatementCacheSize ())
121- .setIdleTimeout (connectionPoolSettings .getIdleTimeout ())
122- .setIdleTimeoutUnit (TimeUnit .SECONDS );
120+ .setPreparedStatementCacheMaxSize (connectionPoolSettings .getMaxPreparedStatementCacheSize ());
121+
122+ final NetClientOptions netClientOptions = new NetClientOptions ()
123+ .setTcpKeepAlive (true );
123124
124125 final PoolOptions poolOptions = new PoolOptions ()
125- .setMaxSize (connectionPoolSettings .getPoolSize ());
126+ .setMaxSize (connectionPoolSettings .getPoolSize ())
127+ .setIdleTimeout (connectionPoolSettings .getIdleTimeout ())
128+ .setIdleTimeoutUnit (TimeUnit .SECONDS );
126129
127- return PgBuilder
128- .pool ()
130+ return PgBuilder .pool ()
129131 .with (poolOptions )
132+ .with (netClientOptions )
130133 .connectingTo (sqlConnectOptions )
131134 .using (vertx )
132135 .build ();
@@ -175,7 +178,7 @@ private static BasicDatabaseClient createBasicDatabaseClient(Pool pool,
175178
176179 final BasicDatabaseClient basicDatabaseClient = new BasicDatabaseClient (pool , metrics , clock );
177180
178- contextRunner .< Void > runBlocking (promise -> basicDatabaseClient . initialize (). onComplete ( promise ) );
181+ contextRunner .runBlocking (basicDatabaseClient :: initialize );
179182
180183 return basicDatabaseClient ;
181184 }
0 commit comments