1
resposta

Há desvantagens em criar a classe ConnectionPool da seguinte maneira?

Criando um dataSource estático, uma inicialização estatica para o dataSource e um getConnection estático? Pra nunca precisar instanciar nenhum objeto para adquirir uma conexão?

package br.com.caelum.jdbc;

import java.sql.Connection;
import java.sql.SQLException;

import javax.sql.DataSource;

import org.hsqldb.jdbc.JDBCPool;

public class ConnectionPool {
    private static DataSource dataSource;


    static {
        JDBCPool pool = new JDBCPool(); // Cria uma "pool" de conexões para distribuir

        pool.setUrl("jdbc:hsqldb:hsql://localhost/loja-virtual");
        pool.setUser("SA");
        pool.setPassword("");
        dataSource = pool; // adiciona ao dataSource (fonte para armazenar e distribuir as conexões) ela é uma interface que só tem o metodo getConnection()
    }

    public static Connection getConection() throws SQLException {
        Connection conexao = dataSource.getConnection();
        // Connection conexao = DriverManager.getConnection("jdbc:hsqldb:hsql://localhost/loja-virtual", "SA", "");
        return conexao;
    }
}
1 resposta

Opa, não vejo nenhuma desvantagem não :).