From 1ceacaafa89f1b909b59bfca3943d41864212f18 Mon Sep 17 00:00:00 2001 From: zyyang Date: Wed, 27 Jan 2021 11:52:03 +0800 Subject: [PATCH] [TD-2541]: optimized the connection pool demo codes --- .../com/taosdata/demo/ConnectionPoolDemo.java | 6 +----- .../com/taosdata/demo/pool/DruidPoolBuilder.java | 16 ++++++++-------- .../com/taosdata/demo/pool/HikariCpBuilder.java | 1 + 3 files changed, 10 insertions(+), 13 deletions(-) diff --git a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java index 4e33b75bc5..38e0446c4d 100644 --- a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java +++ b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/ConnectionPoolDemo.java @@ -1,6 +1,5 @@ package com.taosdata.demo; -import com.taosdata.demo.common.InsertTask; import com.taosdata.demo.pool.C3p0Builder; import com.taosdata.demo.pool.DbcpBuilder; import com.taosdata.demo.pool.DruidPoolBuilder; @@ -11,9 +10,6 @@ import javax.sql.DataSource; import java.sql.Connection; import java.sql.SQLException; import java.sql.Statement; -import java.util.concurrent.ExecutorService; -import java.util.concurrent.Executors; -import java.util.concurrent.TimeUnit; public class ConnectionPoolDemo { @@ -96,13 +92,13 @@ public class ConnectionPoolDemo { e.printStackTrace(); } - // ExecutorService executor = Executors.newFixedThreadPool(threadCount); // while (true) { // executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize)); // if (sleep > 0) // TimeUnit.MILLISECONDS.sleep(sleep); // } + } private static void init(DataSource dataSource) { diff --git a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/DruidPoolBuilder.java b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/DruidPoolBuilder.java index a03e9758b6..7bbac0faf8 100644 --- a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/DruidPoolBuilder.java +++ b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/DruidPoolBuilder.java @@ -1,29 +1,29 @@ package com.taosdata.demo.pool; import com.alibaba.druid.pool.DruidDataSource; +import com.alibaba.druid.pool.DruidDataSourceFactory; import javax.sql.DataSource; +import java.util.Properties; public class DruidPoolBuilder { - public static DataSource getDataSource(String host, int poolSize) { + public static DataSource getDataSource(String host, int poolSize) throws Exception { final String url = "jdbc:TAOS://" + host + ":6030"; DruidDataSource dataSource = new DruidDataSource(); // jdbc properties - dataSource.setUrl(url); dataSource.setDriverClassName("com.taosdata.jdbc.TSDBDriver"); + dataSource.setUrl(url); dataSource.setUsername("root"); dataSource.setPassword("taosdata"); - // pool configurations - dataSource.setInitialSize(poolSize);//初始连接数,默认0 - dataSource.setMinIdle(poolSize);//最小闲置数 - dataSource.setMaxActive(poolSize);//最大连接数,默认8 - dataSource.setMaxWait(30000);//获取连接的最大等待时间,单位毫秒 + dataSource.setInitialSize(10); + dataSource.setMinIdle(10); + dataSource.setMaxActive(10); + dataSource.setMaxWait(30000); dataSource.setValidationQuery("select server_status()"); return dataSource; } - } diff --git a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/HikariCpBuilder.java b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/HikariCpBuilder.java index 2e50dcacff..acf18bf999 100644 --- a/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/HikariCpBuilder.java +++ b/tests/examples/JDBC/connectionPools/src/main/java/com/taosdata/demo/pool/HikariCpBuilder.java @@ -18,6 +18,7 @@ public class HikariCpBuilder { config.setMinimumIdle(3); //minimum number of idle connection config.setMaximumPoolSize(10); //maximum number of connection in the pool config.setConnectionTimeout(30000); //maximum wait milliseconds for get connection from pool + config.setMaxLifetime(0); // maximum life time for each connection config.setIdleTimeout(0); // max idle time for recycle idle connection config.setConnectionTestQuery("select server_status()"); //validation query