Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Doceria com Pool de conexões + dúvida

Implementei o Pool de conexões na Doceria.

package doceria;

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

import javax.sql.DataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;

public class CriaConexao {

    public DataSource conexao;

    public CriaConexao() {
        ComboPooledDataSource conexaoBanco = new ComboPooledDataSource();
        conexaoBanco.setJdbcUrl("jdbc:mysql://localhost/doceria?useTimezone=true&serverTimezone=UTC");
        conexaoBanco.setUser("root");
        conexaoBanco.setPassword("root");

        this.conexao = conexaoBanco;
    }

    public Connection conecta() throws SQLException {
        return this.conexao.getConnection();
    }
}

O Pool serve como intermediário entre as requisições e respostas no HTTP, para que não haja travamentos ou queda na rede devido ao possível alto número de requisições ao servidor. Correto?

1 resposta
solução!

Sem o pool de conexões, cada vez que a aplicação recebe uma requisição, é criada uma nova conexão e quando a requisição finaliza, esse conexão é fechada. Esse processo é custoso. Pensando em otimizar, criou-se o pool de conexão, onde as conexões (número configurável) ficam abertas e sendo reaproveitadas para as conexões. Fiz uma requisição, recebo um conexão aberta do pool, minha requisição é processada e devolvida para o cliente e a conexão aberta volta para o pool. Assim, quando outra requisição chegar, essa mesma conexão pode ser reaproveitada, sem o custo de criar uma nova.