Olá.
Na aula a ConnectionFactory foi feita como uma classe instanciável, podendo-se criar diversas vezes o mesmo objeto.
Eu fiz da seguinte maneira:
public class ConnectionFactory {
private static DataSource dataSource = null;
private ConnectionFactory() {
}
public static Connection getConnection() throws SQLException {
if (dataSource == null) {
final ComboPooledDataSource comboPooledDataSource = new ComboPooledDataSource();
comboPooledDataSource.setJdbcUrl("jdbc:mysql://localhost/loja_virtual?useTimezone=true&serverTimezone=UTC");
comboPooledDataSource.setUser("root");
comboPooledDataSource.setPassword("123456");
// Setando o número máximo de conexões
comboPooledDataSource.setMaxPoolSize(15);
dataSource = comboPooledDataSource;
}
return dataSource.getConnection();
}
}
Para fins de performance e até mesmo de funcionalidade, o melhor seria fazer como foi feito na aula ou garantir que não possam ser criadas mais que a quantidade de conexões estipulada?
Criar várias vezes a fábrica de conexões me remete a pensar que cada usuário, ao fazer uma requisição, iria criar mais uma pool com a quantidade de conexões estipulada, voltando ao problema inicial da aula: a criação desenfreada de conexões.
Este pensamento está correto?
No aguardo. Desde já, obrigado!