cloud-etl-source/cloud-etl-common/src/main/java/com/muyu/Hikari/HikariPool.java

29 lines
1.1 KiB
Java

package com.muyu.Hikari;
import com.muyu.domain.Source;
import com.zaxxer.hikari.HikariConfig;
import com.zaxxer.hikari.HikariDataSource;
import jakarta.validation.constraints.NotNull;
//连接池供所有连接是调用
public class HikariPool {
public static HikariDataSource instance = null;
@NotNull
public static synchronized HikariDataSource getHikariDataSource(Source dataSources) {
if(instance == null) {
HikariConfig hikariConfig = new HikariConfig();
hikariConfig.setPoolName("HikariCP 连接池");
hikariConfig.setDriverClassName(dataSources.getDriverName());
hikariConfig.setJdbcUrl(dataSources.getUrl());
hikariConfig.setUsername(dataSources.getUsername());
hikariConfig.setPassword(dataSources.getPassword());
hikariConfig.setMaximumPoolSize(10);
hikariConfig.setMinimumIdle(2);
hikariConfig.setConnectionTimeout(60000000); // 连接超时时间(毫秒)
hikariConfig.setIdleTimeout(600000);
instance = new HikariDataSource(hikariConfig);
}
return instance;
}
}