Skip to content

Commit 94713ba

Browse files
committed
Additional configuration for Hikari CP.
Signed-off-by: Santiago Pericas-Geertsen <[email protected]>
1 parent 8d9a6b9 commit 94713ba

File tree

1 file changed

+12
-6
lines changed

1 file changed

+12
-6
lines changed

frameworks/Java/helidon/nima/src/main/java/io/helidon/benchmark/nima/models/HikariJdbcRepository.java

Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,25 +24,31 @@ public class HikariJdbcRepository implements DbRepository {
2424
private final HikariConfig hikariConfig;
2525

2626
public HikariJdbcRepository(Config config) {
27+
// hikari connection configuration
2728
String url = "jdbc:postgresql://" +
2829
config.get("host").asString().orElse("tfb-database") +
2930
":" + config.get("port").asString().orElse("5432") +
3031
"/" + config.get("db").asString().orElse("hello_world");
31-
3232
hikariConfig = new HikariConfig();
3333
hikariConfig.setJdbcUrl(url);
3434
hikariConfig.setUsername(config.get("username").asString().orElse("benchmarkdbuser"));
3535
hikariConfig.setPassword(config.get("password").asString().orElse("benchmarkdbpass"));
36-
hikariConfig.addDataSourceProperty("cachePrepStmts", "true");
3736

37+
// hikari additional configuration
3838
int poolSize = config.get("sql-pool-size").asInt().orElse(64);
39-
hikariConfig.addDataSourceProperty("maximumPoolSize", poolSize);
40-
LOGGER.info("Db pool size is set to " + poolSize);
41-
42-
// use VTs with Hikari
39+
hikariConfig.setMaximumPoolSize(poolSize);
40+
LOGGER.info("Hikari pool size is set to " + poolSize);
4341
ThreadFactory vtThreadFactory = Thread.ofVirtual().factory();
4442
hikariConfig.setThreadFactory(vtThreadFactory);
4543
hikariConfig.setScheduledExecutor(Executors.newScheduledThreadPool(poolSize, vtThreadFactory));
44+
LOGGER.info("Set thread factory to VTs");
45+
46+
// data source properties
47+
hikariConfig.addDataSourceProperty("cachePrepStmts","true");
48+
hikariConfig.addDataSourceProperty("prepStmtCacheSize","250");
49+
hikariConfig.addDataSourceProperty("prepStmtCacheSqlLimit","2048");
50+
hikariConfig.addDataSourceProperty("ssl", "false");
51+
hikariConfig.addDataSourceProperty("tcpKeepAlive", "true");
4652
}
4753

4854
private Connection getConnection() throws SQLException {

0 commit comments

Comments
 (0)