提交 1ceacaaf 编写于 作者: Z zyyang

[TD-2541]<fix>: optimized the connection pool demo codes

上级 9a64b8a4
package com.taosdata.demo; package com.taosdata.demo;
import com.taosdata.demo.common.InsertTask;
import com.taosdata.demo.pool.C3p0Builder; import com.taosdata.demo.pool.C3p0Builder;
import com.taosdata.demo.pool.DbcpBuilder; import com.taosdata.demo.pool.DbcpBuilder;
import com.taosdata.demo.pool.DruidPoolBuilder; import com.taosdata.demo.pool.DruidPoolBuilder;
...@@ -11,9 +10,6 @@ import javax.sql.DataSource; ...@@ -11,9 +10,6 @@ import javax.sql.DataSource;
import java.sql.Connection; import java.sql.Connection;
import java.sql.SQLException; import java.sql.SQLException;
import java.sql.Statement; import java.sql.Statement;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
import java.util.concurrent.TimeUnit;
public class ConnectionPoolDemo { public class ConnectionPoolDemo {
...@@ -96,13 +92,13 @@ public class ConnectionPoolDemo { ...@@ -96,13 +92,13 @@ public class ConnectionPoolDemo {
e.printStackTrace(); e.printStackTrace();
} }
// ExecutorService executor = Executors.newFixedThreadPool(threadCount); // ExecutorService executor = Executors.newFixedThreadPool(threadCount);
// while (true) { // while (true) {
// executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize)); // executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize));
// if (sleep > 0) // if (sleep > 0)
// TimeUnit.MILLISECONDS.sleep(sleep); // TimeUnit.MILLISECONDS.sleep(sleep);
// } // }
} }
private static void init(DataSource dataSource) { private static void init(DataSource dataSource) {
......
package com.taosdata.demo.pool; package com.taosdata.demo.pool;
import com.alibaba.druid.pool.DruidDataSource; import com.alibaba.druid.pool.DruidDataSource;
import com.alibaba.druid.pool.DruidDataSourceFactory;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.util.Properties;
public class DruidPoolBuilder { 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"; final String url = "jdbc:TAOS://" + host + ":6030";
DruidDataSource dataSource = new DruidDataSource(); DruidDataSource dataSource = new DruidDataSource();
// jdbc properties // jdbc properties
dataSource.setUrl(url);
dataSource.setDriverClassName("com.taosdata.jdbc.TSDBDriver"); dataSource.setDriverClassName("com.taosdata.jdbc.TSDBDriver");
dataSource.setUrl(url);
dataSource.setUsername("root"); dataSource.setUsername("root");
dataSource.setPassword("taosdata"); dataSource.setPassword("taosdata");
// pool configurations // pool configurations
dataSource.setInitialSize(poolSize);//初始连接数,默认0 dataSource.setInitialSize(10);
dataSource.setMinIdle(poolSize);//最小闲置数 dataSource.setMinIdle(10);
dataSource.setMaxActive(poolSize);//最大连接数,默认8 dataSource.setMaxActive(10);
dataSource.setMaxWait(30000);//获取连接的最大等待时间,单位毫秒 dataSource.setMaxWait(30000);
dataSource.setValidationQuery("select server_status()"); dataSource.setValidationQuery("select server_status()");
return dataSource; return dataSource;
} }
} }
...@@ -18,6 +18,7 @@ public class HikariCpBuilder { ...@@ -18,6 +18,7 @@ public class HikariCpBuilder {
config.setMinimumIdle(3); //minimum number of idle connection config.setMinimumIdle(3); //minimum number of idle connection
config.setMaximumPoolSize(10); //maximum number of connection in the pool config.setMaximumPoolSize(10); //maximum number of connection in the pool
config.setConnectionTimeout(30000); //maximum wait milliseconds for get connection from 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.setIdleTimeout(0); // max idle time for recycle idle connection
config.setConnectionTestQuery("select server_status()"); //validation query config.setConnectionTestQuery("select server_status()"); //validation query
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册