tenho um sistema em que roda na rede e na net… porém, o desempenho via net está baixo.
meu sistema foi desenvolvido com java + mysql obs.: desktop
[/quote]
Deve estar mesmo, porque
a) Não se deve abrir bancos de dados diretamente na Internet
b) Na eventualidade de você fazer isso (que perigo!) você não deve ficar abrindo e fechando as conexões a toda hora, porque isso é demorado em rede local e mais demorado ainda na Internet. Use um pool de conexões como o C3PO ou o DBCP.
entanglement voce tocou em um assunto que muito me interesa…
realmente minha conexão ta uma loucura rsrss… esta sempre abrindo e fechando.
entanglement pesso humildemente uma ajuda para organizar minha conexão…
eu procurei em varios lugares e nao encontrei um passo a passo para desenvolver um pool de conexão, pois, nao sei por onde começar :roll:
obs.: meu sistema java+mysql “desktop”
Quando fiz um sistema com essas características, fizemos o seguinte:
a) Deixar o gerencimento de abrir e fechar conexões para o Spring. É bem fácil adaptar seu sistema para sair do JDBC comum e usar o Spring. O código fica mais simples, vale a pena (pense que com o Spring vc não precisa ficar criando esses try…catch…finally);
b) Usamos o Jakarta DBCP. Ele simplesmente fornece um novo objeto de DataSource e as conexões que ele retorna são automaticamente colocadas no pool quando o método close é chamado.
Mesmo que você não use o Spring, é extremamente simples com o Jakarta. Na verdade, seu código praticamente não muda, só o que muda é o DataSource das conexões.
ViniGodoy acompanho esse forum a um ano e meio… nesse periodo pude observar que vc ajudou bastante iniciante (meu caso) parabéns
bom… para eu usar o jakarta DBCP
1º tenho q baixar algum driver
2º tenho q mudar minha classe de conexão igual ao exemplo q vc me enviou
3º tenho q inserir os DataSource no meu projeto
Provavelmente só a classe Conecta_ACESS vai mudar.
Ela vai usar o BasicDataSource para criar as conexões, como no exemplo que te passei. O que é legal, é que a conexão do Pool também implementa a interface connection. Quando vc chamar o close() de uma conexão que está no pool, ao invés de fechar, ela simplesmente volta para o pool… O que significa que seu código, que usa o Connection, não muda nada.
Sei q o ViniGodoy tentou simplificar pra mim como fazer conexao de pool, porem, ainda nao consegui fazer a mudança :oops:
nunca tive tanta duvida a respeito de uma coisa que parece ser tão simples…
será que e possivel manipular essa minha classe de conexão para q ela possa fazer uma conexão de pool
[code]import java.sql.*;
import javax.swing.JOptionPane;
public class Conecta_ACCESS {
public Conecta_ACCESS() { }
private String url = "jdbc:odbc:Endereco";
private String driver ="sun.jdbc.odbc.JdbcOdbcDriver";
private String user ="naldo";
private String pwd = "nalldo36";//Senha do Banco de dados
Connection con = null;
public Connection conect(){
try{
Class.forName(driver);
con = DriverManager.getConnection(url, user,pwd);
}catch(ClassNotFoundException e){
JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n Driver n�o encontrado!\n"+ e,"ATEN��O",JOptionPane.WARNING_MESSAGE);
}catch(SQLException e){
JOptionPane.showMessageDialog(null,"Ocorreu um erro no sistema, se o problema persistir contate o administrador:\n Erro na Conex�o com Banco\n"+ e,"ATEN��O",JOptionPane.WARNING_MESSAGE);
}
return con;
}