Skip to content

Commit 0ce7eee

Browse files
author
Paultagoras
committed
Update Basic.java
1 parent 6f8f311 commit 0ce7eee

File tree

1 file changed

+30
-0
lines changed
  • examples/jdbc/src/main/java/com/clickhouse/examples/jdbc

1 file changed

+30
-0
lines changed

examples/jdbc/src/main/java/com/clickhouse/examples/jdbc/Basic.java

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
package com.clickhouse.examples.jdbc;
22

33

4+
import com.clickhouse.jdbc.ClickHouseDataSource;
5+
import com.zaxxer.hikari.HikariConfig;
6+
import com.zaxxer.hikari.HikariDataSource;
7+
48
import java.sql.Connection;
59
import java.sql.Date;
610
import java.sql.DriverManager;
@@ -53,5 +57,31 @@ public static void main(String[] args) {
5357
} catch (SQLException e) {
5458
e.printStackTrace();
5559
}
60+
61+
try {
62+
//Using HikariCP with ClickHouseDataSource
63+
usedPooledConnection(url, properties);
64+
} catch (SQLException e) {
65+
e.printStackTrace();
66+
}
67+
}
68+
69+
static void usedPooledConnection(String url, Properties properties) throws SQLException {
70+
// connection pooling won't help much in terms of performance,
71+
// because the underlying implementation has its own pool.
72+
// for example: HttpURLConnection has a pool for sockets
73+
HikariConfig poolConfig = new HikariConfig();
74+
poolConfig.setConnectionTimeout(5000L);
75+
poolConfig.setMaximumPoolSize(20);
76+
poolConfig.setMaxLifetime(300_000L);
77+
poolConfig.setDataSource(new ClickHouseDataSource(url, properties));
78+
79+
try (HikariDataSource ds = new HikariDataSource(poolConfig);
80+
Connection conn = ds.getConnection();
81+
Statement s = conn.createStatement();
82+
ResultSet rs = s.executeQuery("SELECT 123")) {
83+
System.out.println(rs.next());
84+
System.out.println(rs.getInt(1));
85+
}
5686
}
5787
}

0 commit comments

Comments
 (0)