change
This commit is contained in:
parent
efa1709fdf
commit
8877907e70
|
@ -82,12 +82,27 @@ public class ConnectionPoolDemo {
|
||||||
|
|
||||||
init(dataSource);
|
init(dataSource);
|
||||||
|
|
||||||
ExecutorService executor = Executors.newFixedThreadPool(threadCount);
|
try {
|
||||||
while (true) {
|
Connection connection = dataSource.getConnection();
|
||||||
executor.execute(new InsertTask(dataSource, dbName, tableSize, batchSize));
|
Statement statement = connection.createStatement();
|
||||||
if (sleep > 0)
|
String sql = "insert into " + dbName + ".t_1 values('2020-01-01 00:00:00.000',12.12,111)";
|
||||||
TimeUnit.MILLISECONDS.sleep(sleep);
|
int affectRows = statement.executeUpdate(sql);
|
||||||
|
System.out.println("affectRows >>> " + affectRows);
|
||||||
|
affectRows = statement.executeUpdate(sql);
|
||||||
|
System.out.println("affectRows >>> " + affectRows);
|
||||||
|
statement.close();
|
||||||
|
connection.close();
|
||||||
|
} catch (SQLException e) {
|
||||||
|
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) {
|
private static void init(DataSource dataSource) {
|
||||||
|
|
|
@ -57,6 +57,13 @@
|
||||||
<version>${spring.version}</version>
|
<version>${spring.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
|
||||||
|
<!-- fastjson -->
|
||||||
|
<dependency>
|
||||||
|
<groupId>com.alibaba</groupId>
|
||||||
|
<artifactId>fastjson</artifactId>
|
||||||
|
<version>1.2.75</version>
|
||||||
|
</dependency>
|
||||||
|
|
||||||
|
|
||||||
<!-- HikariCP -->
|
<!-- HikariCP -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
@ -8,10 +8,11 @@ import com.taosdata.taosdemo.service.DatabaseService;
|
||||||
import com.taosdata.taosdemo.service.InsertTask;
|
import com.taosdata.taosdemo.service.InsertTask;
|
||||||
import com.taosdata.taosdemo.service.SuperTableService;
|
import com.taosdata.taosdemo.service.SuperTableService;
|
||||||
import com.taosdata.taosdemo.service.data.SuperTableMetaGenerator;
|
import com.taosdata.taosdemo.service.data.SuperTableMetaGenerator;
|
||||||
import com.taosdata.taosdemo.utils.JdbcTaosdemoConfig;
|
import com.taosdata.taosdemo.components.JdbcTaosdemoConfig;
|
||||||
import org.apache.log4j.Logger;
|
import org.apache.log4j.Logger;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import java.io.IOException;
|
||||||
import java.time.Duration;
|
import java.time.Duration;
|
||||||
import java.time.Instant;
|
import java.time.Instant;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
@ -23,8 +24,7 @@ import java.util.stream.IntStream;
|
||||||
public class TaosDemoApplication {
|
public class TaosDemoApplication {
|
||||||
private static Logger logger = Logger.getLogger(TaosDemoApplication.class);
|
private static Logger logger = Logger.getLogger(TaosDemoApplication.class);
|
||||||
|
|
||||||
public static void main(String[] args) {
|
public static void main(String[] args) throws IOException {
|
||||||
|
|
||||||
|
|
||||||
// 读配置参数
|
// 读配置参数
|
||||||
JdbcTaosdemoConfig config = new JdbcTaosdemoConfig(args);
|
JdbcTaosdemoConfig config = new JdbcTaosdemoConfig(args);
|
||||||
|
|
|
@ -5,24 +5,45 @@ import com.zaxxer.hikari.HikariDataSource;
|
||||||
import org.springframework.stereotype.Component;
|
import org.springframework.stereotype.Component;
|
||||||
|
|
||||||
import javax.sql.DataSource;
|
import javax.sql.DataSource;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.util.Properties;
|
||||||
|
|
||||||
@Component
|
@Component
|
||||||
public class DataSourceFactory {
|
public class DataSourceFactory {
|
||||||
|
|
||||||
private static DataSource instance;
|
private static DataSource instance;
|
||||||
|
|
||||||
public static DataSource getInstance(String host, int port, String user, String password) {
|
public static DataSource getInstance(String host, int port, String user, String password) throws IOException {
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
synchronized (DataSourceFactory.class) {
|
synchronized (DataSourceFactory.class) {
|
||||||
if (instance == null) {
|
if (instance == null) {
|
||||||
|
InputStream is = DataSourceFactory.class.getClassLoader().getResourceAsStream("application.properties");
|
||||||
|
Properties properties = new Properties();
|
||||||
|
properties.load(is);
|
||||||
|
|
||||||
HikariConfig config = new HikariConfig();
|
HikariConfig config = new HikariConfig();
|
||||||
config.setDriverClassName("com.taosdata.jdbc.TSDBDriver");
|
if (properties.containsKey("jdbc.driver"))
|
||||||
config.setJdbcUrl("jdbc:TAOS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8");
|
config.setDriverClassName(properties.getProperty("jdbc.driver"));
|
||||||
|
else
|
||||||
|
config.setDriverClassName("com.taosdata.jdbc.TSDBDriver");
|
||||||
|
if ("com.taosdata.jdbc.rs.RestfulDriver".equalsIgnoreCase(properties.getProperty("jdbc.driver")))
|
||||||
|
config.setJdbcUrl("jdbc:TAOS-RS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8");
|
||||||
|
else
|
||||||
|
config.setJdbcUrl("jdbc:TAOS://" + host + ":" + port + "/?charset=UTF-8&locale=en_US.UTF-8&timezone=UTC-8");
|
||||||
config.setUsername(user);
|
config.setUsername(user);
|
||||||
config.setPassword(password);
|
config.setPassword(password);
|
||||||
|
// maximum-pool-size
|
||||||
|
if (properties.containsKey("hikari.maximum-pool-size"))
|
||||||
|
config.setMaximumPoolSize(Integer.parseInt(properties.getProperty("hikari.maximum-pool-size")));
|
||||||
|
else
|
||||||
|
config.setMaximumPoolSize(500);
|
||||||
|
// minimum-idle
|
||||||
|
if (properties.containsKey("hikari.minimum-idle"))
|
||||||
|
config.setMinimumIdle(Integer.parseInt(properties.getProperty("hikari.minimum-idle")));
|
||||||
|
else
|
||||||
|
config.setMinimumIdle(100);
|
||||||
config.setMaxLifetime(0);
|
config.setMaxLifetime(0);
|
||||||
config.setMaximumPoolSize(500);
|
|
||||||
config.setMinimumIdle(100);
|
|
||||||
instance = new HikariDataSource(config);
|
instance = new HikariDataSource(config);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
package com.taosdata.taosdemo.utils;
|
package com.taosdata.taosdemo.components;
|
||||||
|
|
||||||
|
import com.taosdata.taosdemo.utils.TimeStampUtil;
|
||||||
|
|
||||||
public final class JdbcTaosdemoConfig {
|
public final class JdbcTaosdemoConfig {
|
||||||
// instance
|
// instance
|
|
@ -0,0 +1,39 @@
|
||||||
|
package com.taosdata.taosdemo.components;
|
||||||
|
|
||||||
|
import com.alibaba.fastjson.JSONObject;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
|
public class JsonConfig {
|
||||||
|
|
||||||
|
public static void main(String[] args) {
|
||||||
|
|
||||||
|
JsonConfig config = new JsonConfig();
|
||||||
|
String str = config.read("insert.json");
|
||||||
|
JSONObject jsonObject = JSONObject.parseObject(str);
|
||||||
|
System.out.println(jsonObject);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private String read(String fileName) {
|
||||||
|
try {
|
||||||
|
BufferedReader reader = new BufferedReader(
|
||||||
|
new InputStreamReader(JsonConfig.class.getClassLoader().getResourceAsStream(fileName))
|
||||||
|
);
|
||||||
|
StringBuilder sb = new StringBuilder();
|
||||||
|
String line = null;
|
||||||
|
while ((line = reader.readLine()) != null) {
|
||||||
|
sb.append(line);
|
||||||
|
}
|
||||||
|
return sb.toString();
|
||||||
|
} catch (IOException e) {
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
|
||||||
|
return fileName;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
}
|
|
@ -1,4 +1,4 @@
|
||||||
package com.taosdata.taosdemo.dao.impl;
|
package com.taosdata.taosdemo.dao;
|
||||||
|
|
||||||
import com.taosdata.taosdemo.dao.DatabaseMapper;
|
import com.taosdata.taosdemo.dao.DatabaseMapper;
|
||||||
import com.taosdata.taosdemo.utils.SqlSpeller;
|
import com.taosdata.taosdemo.utils.SqlSpeller;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.taosdata.taosdemo.dao.impl;
|
package com.taosdata.taosdemo.dao;
|
||||||
|
|
||||||
import com.taosdata.taosdemo.dao.SubTableMapper;
|
import com.taosdata.taosdemo.dao.SubTableMapper;
|
||||||
import com.taosdata.taosdemo.domain.SubTableMeta;
|
import com.taosdata.taosdemo.domain.SubTableMeta;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.taosdata.taosdemo.dao.impl;
|
package com.taosdata.taosdemo.dao;
|
||||||
|
|
||||||
import com.taosdata.taosdemo.dao.SuperTableMapper;
|
import com.taosdata.taosdemo.dao.SuperTableMapper;
|
||||||
import com.taosdata.taosdemo.domain.SuperTableMeta;
|
import com.taosdata.taosdemo.domain.SuperTableMeta;
|
|
@ -1,4 +1,4 @@
|
||||||
package com.taosdata.taosdemo.dao.impl;
|
package com.taosdata.taosdemo.dao;
|
||||||
|
|
||||||
import com.taosdata.taosdemo.dao.TableMapper;
|
import com.taosdata.taosdemo.dao.TableMapper;
|
||||||
import com.taosdata.taosdemo.domain.TableMeta;
|
import com.taosdata.taosdemo.domain.TableMeta;
|
|
@ -10,8 +10,11 @@ spring.datasource.password=taosdata
|
||||||
#spring.datasource.driver-class-name=com.taosdata.jdbc.rs.RestfulDriver
|
#spring.datasource.driver-class-name=com.taosdata.jdbc.rs.RestfulDriver
|
||||||
#spring.datasource.username=root
|
#spring.datasource.username=root
|
||||||
#spring.datasource.password=taosdata
|
#spring.datasource.password=taosdata
|
||||||
spring.datasource.hikari.maximum-pool-size=1
|
#spring.datasource.hikari.maximum-pool-size=1
|
||||||
spring.datasource.hikari.minimum-idle=1
|
#spring.datasource.hikari.minimum-idle=1
|
||||||
spring.datasource.hikari.max-lifetime=0
|
#spring.datasource.hikari.max-lifetime=0
|
||||||
logging.level.com.taosdata.taosdemo.dao=error
|
#logging.level.com.taosdata.taosdemo.dao=error
|
||||||
server.port=8888
|
jdbc.driver=com.taosdata.jdbc.TSDBDriver
|
||||||
|
hikari.maximum-pool-size=1
|
||||||
|
hikari.minimum-idle=1
|
||||||
|
hikari.max-lifetime=0
|
Loading…
Reference in New Issue