I have successfully made a connection to a connection pool, but I still have the question of how to instantiate the connection class, my question is:
Every time the connection class is instantiated, a new one is created or the connection is overwritten?
public ConexionPool(){
inicializaDataSource();
}
private void inicializaDataSource(){
I("<<<<<<<<<< Conexion Pool -----> "+db+" >>>>>>>>>");
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
basicDataSource.setUsername(user);
basicDataSource.setPassword(pass);
basicDataSource.setUrl(url);
basicDataSource.setMaxActive(200);
basicDataSource.setMinIdle(50);
basicDataSource.setMaxIdle(100);
dataSource = basicDataSource;
}
As you can see what the connection gets is the dataSource
but I do not know if every time the class is called it comes back and connects and a configuration with 200 more maximum connections or overwrites the configuration already created.
I have established two possible ways in the connection class, I do not know which is the most correct:
Call the method inside the constructor:
public ConexionPool(){
inicializaDataSource();
}
private void inicializaDataSource(){
I("<<<<<<<<<< Conexion Pool -----> "+db+" >>>>>>>>>");
BasicDataSource basicDataSource = new BasicDataSource();
basicDataSource.setDriverClassName("com.mysql.jdbc.Driver");
basicDataSource.setUsername(user);
basicDataSource.setPassword(pass);
basicDataSource.setUrl(url);
basicDataSource.setMaxActive(200);
basicDataSource.setMinIdle(50);
basicDataSource.setMaxIdle(100);
dataSource = basicDataSource;
}
Create a method within the connection class that returns dataSource
:
public DataSource SourceConnect(){
if(this.dataSource==null){
inicializaDataSource();
}
return this.dataSource;
}