package com.videosambo.motimaa.cellsystem.database; import java.sql.SQLException; import javax.sql.DataSource; import com.mysql.jdbc.Connection; import com.videosambo.motimaa.cellsystem.Handler; import com.zaxxer.hikari.HikariConfig; import com.zaxxer.hikari.HikariDataSource; public class DBConnectionPool { private Handler handler; private static String url, user, pass; private static DataSource dataSource; public DBConnectionPool(Handler handler, String url, String user, String pass) { this.handler = handler; this.url = url; this.user = user; this.pass = pass; } public static DataSource getDataSource() { if(dataSource == null) { HikariConfig config = new HikariConfig(); config.setJdbcUrl(url); config.setUsername(pass); config.setPassword(pass); config.setMaximumPoolSize(10); config.setAutoCommit(false); config.addDataSourceProperty("cachePrepStmts", "true"); config.addDataSourceProperty("prepStmtCacheSize", "250"); config.addDataSourceProperty("prepStmtCacheSqlLimit", "2048"); dataSource = new HikariDataSource(config); } return dataSource; } public static Connection getConnection() { return (Connection) getDataSource(); } }