c3p0 – Connection Pool

Publicado: 14/04/2010 em java
Tags:, , , ,

Segue abaixo código utilizando a api c3p0 para gerenciamento de pool de conexão. Já utilizei esta api juntamente com o hibernate.

Como o projeto que estou envolvido agora não usará hibernate e terei que controlar tudo na mão, decidi utilizar esta api. Abaixo segue o código que implementei para teste. Obs.: Para rodar o exemplo precisa ter o jar do c3p0 e o jar do driver no classpath.

Abaixo segue a classe ConnectionFactory que será responsável por criar o pool de conexões e retornar a conexão para uso

public class ConnectionFactory {
//Instância de ConnectionFactory
private static ConnectionFactory instance;
private ComboPooledDataSource cpds;
String url = "";
String user = "";
String password = "";
String driver = "";
/**
* Construtor
*/
private ConnectionFactory() {
cpds = new ComboPooledDataSource();
try {
cpds.setDriverClass(driver);
} catch(PropertyVetoException e) {
e.printStackTrace();
}
cpds.setJdbcUrl( url );
cpds.setUser(user);
cpds.setPassword(password);
// config tamanho do pool
cpds.setMinPoolSize(1);
cpds.setAcquireIncrement(1);
cpds.setMaxPoolSize(2);
}
/**
* Retorna Instância de ConnectionFactory
* @return ConnectionFactory
*/
public static ConnectionFactory getInstance() {
if(instance == null) {
instance = new ConnectionFactory();
}
return instance;
}
/**
* Recupera Conexão
* @return Connection
* @throws SQLException
*/
public Connection getConnection() throws SQLException {
return cpds.getConnection();
}
}

Para usar a conexão é só usar o exemplo abaixo:
//recupera conexão
Connection conn = ConnectionFactory.getInstance().getConnection();
//realiza sqls
//devolve conexão ao pool
conn.close();

Anúncios

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s