package servlet;

import org.apache.commons.dbcp2.BasicDataSource;
import javax.sql.DataSource;

public class conexion_mysql_pool {

    private static final BasicDataSource dataSource = new BasicDataSource();

    static {
        // Configuración del pool de conexiones
        dataSource.setUrl("jdbc:mysql://localhost:3306/eatgo");
        dataSource.setUsername("root");
        dataSource.setPassword(""); // Coloca la contraseña si es necesario
        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");
        
        
//        dataSource.setUrl("jdbc:mysql://179.61.12.183/mymmonta_triviasgame");
//        dataSource.setUsername("mymmonta_ruta_facil");
//        dataSource.setPassword("efrentoloza*52"); // Coloca la contraseña si es necesario
//        dataSource.setDriverClassName("com.mysql.cj.jdbc.Driver");

        // Configuración del pool adaptada para 30-40 usuarios simultáneos
        dataSource.setInitialSize(15);  // Tamaño inicial del pool
        dataSource.setMaxTotal(50);     // Máximo de conexiones en uso simultáneamente
        dataSource.setMaxIdle(20);      // Máximo de conexiones inactivas
        dataSource.setMinIdle(15);      // Mínimo de conexiones inactivas
        dataSource.setMaxWaitMillis(5000); // Tiempo máximo de espera para una conexión (5 segundos)
        dataSource.setTestOnBorrow(true); // Verificar conexiones antes de usarlas
        dataSource.setValidationQuery("SELECT 1"); // Consulta de validación
    }

    // Método para obtener el DataSource
    public static DataSource getDataSource() {
        return dataSource;
    }
}
