Pool[Resolvido]

1 resposta
MaiqueL

[b]Olá Pessoal,

Estou tentando criar um pool de conexão para uma aplicação Swing, gostaria de saber como eu pego a

conexão dessa classe que encontrei aqui no GUJ.

Estou chamando ela assim no meu código, mas isso ta gerando um ClassCastException
java.lang.ClassCastException: org.apache.commons.dbcp.DelegatingPreparedStatement cannot be cast to com.mysql.jdbc.PreparedStatement
;[/b]

Dbpc dbpc = new Dbpc();
        Connection conn = Dbpc.getInstance().getConn();
        PreparedStatement pstmt = (PreparedStatement) conn.prepareStatement("select from * users");

import java.util.logging.Level;
import java.util.logging.Logger;
import javax.sql.DataSource;
import java.sql.*;
import org.apache.commons.dbcp.BasicDataSource;
import java.util.Properties;
import java.io.*;


public class Dbpc {
private static Dbpc instance = null;
private DataSource ds;
private Connection con;
private String driver;
private String url;
private String login;
private String password;
private int maxConnections;
private long maxWait;

/** Creates a new instance of Dbpc */
public Dbpc() {
//recuperando configuracoes de acesso ao db
driver = "com.mysql.jdbc.Driver";
url = "jdbc:mysql://localhost:3306/test";
login = "root";
password = "senha";
maxConnections = 10;
maxWait = 100;
ds = setupDataSource();
}

public static Dbpc getInstance() {
if(instance == null) {
instance = new Dbpc();
}
return instance;
}
[size=9][/size]
public Connection getConn() throws SQLException {
return ds.getConnection();
}

private DataSource setupDataSource() {
BasicDataSource ds = new BasicDataSource();
ds.setDriverClassName(driver);
ds.setUsername(login);

ds.setPassword(password);
ds.setUrl(url);
ds.setMaxActive(maxConnections);
ds.setMaxWait(maxWait);
ds.setDefaultAutoCommit(true);
return ds;
}

public void printDataSourceStats() throws SQLException {
BasicDataSource bds = (BasicDataSource) ds;
System.out.println("NumActive: " + bds.getNumActive());
System.out.println("NumIdle: " + bds.getNumIdle());
}

/*shutdown DataSource*/
public void shutdown() throws SQLException {
BasicDataSource bds = (BasicDataSource) ds;
bds.close();
}


}

1 Resposta

ViniGodoy

Oi. Use a tag code para formatar códigos. Se você não sabe usar este recurso, leia esse tópico:
http://www.guj.com.br/posts/list/50115.java

O tópico está mesmo resolvido? Se estiver, poste também a solução!
Assim quem tiver a mesma dúvida não precisa perguntar de novo! :wink:

Criado 27 de julho de 2008
Ultima resposta 27 de jul. de 2008
Respostas 1
Participantes 2