boa tarde.
tenho um programa de suporte técnico (helpdesk) aq na empresa onde trabalho que eu fiz. só que tenho um problema na minha conexão, toda vez que atendo um chamado novo, ele abre novas conexões no bd. Quando atendo muitos chamados, ele adiciona muitas conexões no banco de dados. Há mais um programa que compartilha o mesmo servidor, então acaba lotando o numero de conexões. Há alguma forma do meu programa gerar menos conexões?
Segue o código abaixo.
package utilitarios;
import java.sql.*;
import javax.swing.*;
public class conexao
{
final private String driver = "com.mysql.jdbc.Driver"; //aula 29
final private String url ="jdbc:mysql://localhost:3306/hospital";
final private String usuario ="usuario";
final private String senha = "12345";
private Connection conexao;
public Statement statement;
public ResultSet resultset;
public boolean conecta()
{
boolean result = true;
try
{
Class.forName(driver);
conexao = DriverManager.getConnection(url, usuario, senha);
// JOptionPane.showMessageDialog(null,"Conectou!");
}
catch(ClassNotFoundException Driver)
{
JOptionPane.showMessageDialog(null,"Driver não localizado: "+Driver);
result = false;
}
catch(SQLException Fonte)
{
JOptionPane.showMessageDialog(null,"Ocorreu um erro na conexão " +
"com a fonte de dados: "+Fonte);
result = false;
}
return result;
}
public void desconecta()
{
boolean result = true;
try
{
conexao.close();
JOptionPane.showMessageDialog(null,"Banco fechado");
}
catch(SQLException fecha)
{
JOptionPane.showMessageDialog(null,"Não foi possível fechar "+
"o banco de dados: "+fecha);
result = false;
}
}
public void executasql(String sql)
{
try
{
statement = conexao.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
resultset = statement.executeQuery(sql);
}
catch(SQLException sqlex)
{
JOptionPane.showMessageDialog(null,"Não foi possível "+
"executar o comando, "+sqlex+", o comando passado foi: "+sql);
}
}
}
Aqui é uma tela do programa, eu estou chamando a minha classe de conexão.
[code]
public hd_server() {
initComponents();
con_setores = new conexao();
con_setores.conecta();
con_hdsf = new conexao();
con_hdsf.conecta();
con_atualiza = new conexao();
con_atualiza.conecta();
con_ordena = new conexao();
con_ordena.conecta();
con_ordatual = new conexao();
con_ordatual.conecta();
[/code]
Cada chamada dessa é uma conexão nova, é o que faz lotar o banco.
Agradeço a ajuda de todos.
Até mais