
Too many Conections
Publicado por ricardo (31 intervenciones) el 14/01/2014 16:04:07
Hola
tengo una aplicación en java y últimamente me ha estado dando el error " Too many Conections"
he revisado las conexiones de la BD y estan seteadas en mas de 200 a si que dudo sean als conexiones
les de jo la clase de conexión a BD para ver si me pueden ayudar y decir donde esta el error si existe
Gracias
tengo una aplicación en java y últimamente me ha estado dando el error " Too many Conections"
he revisado las conexiones de la BD y estan seteadas en mas de 200 a si que dudo sean als conexiones
les de jo la clase de conexión a BD para ver si me pueden ayudar y decir donde esta el error si existe
Gracias
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
import cl.xx.soporte.bean.ErrorBean;
import cl.xx.soporte.tx.SendMailSSLException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import org.apache.log4j.Logger;
public class Pool {
private Pool() {}
private static Pool instancia = null;
static final Logger logger = Logger.getLogger(Pool.class);
// static InetAddress ip = null;
private final static String driverJdbc=Propiedades.getProperty("DB_DRIVER");
private final static String url=Propiedades.getProperty("DB_URL");
private final static String bd=Propiedades.getProperty("DB_NOMBRE");
private final static String userBd=Propiedades.getProperty("DB_USER");
private final static String passBd=Propiedades.getProperty("DB_PASSWORD");
public static Pool getInstance() {
if (instancia == null) {
instancia = new Pool();
}
return instancia;
}
/* devuelve la conexion */
public static synchronized Connection creaInstancia() {
Connection conexion=null;
try {
Class.forName(driverJdbc);
conexion = DriverManager.getConnection(url+bd, userBd, passBd);
} catch (ClassNotFoundException ex) {
System.out.println("sqlError "+ex);
ErrorBean errorBean=new ErrorBean();
SendMailSSLException mailError=new SendMailSSLException();
// errorBean.setStrSombreClase("Pool-> Servidor: "+ip.getHostAddress());
errorBean.setStrNombreMetodo("creaInstancia()");
errorBean.setStrErrorMensaje(ex.toString());
mailError.enviaMailError(errorBean);
logger.info("[ERROR][Pool]"+ ex.getMessage()+"--"+ex.toString());
// return false;
}
catch (SQLException ex) {
System.out.println("sqlError "+ex);
ErrorBean errorBean=new ErrorBean();
SendMailSSLException mailError=new SendMailSSLException();
// errorBean.setStrSombreClase("Pool-> Servidor: "+ip.getHostAddress());
errorBean.setStrNombreMetodo("createInstance()");
errorBean.setStrErrorMensaje(ex.toString());
mailError.enviaMailError(errorBean);
logger.info("[ERROR][Pool]"+ ex.getMessage()+"--"+ex.toString());
}
return conexion;
}
//si la conexion es nula crea una nueva, si ya existe retorna la existente
public static synchronized Connection getConnection() {
try{
if (Pool.creaInstancia()== null) {
creaInstancia();
}
}catch(Exception ex){
System.out.println("err "+ex);
ErrorBean errorBean=new ErrorBean();
SendMailSSLException mailError=new SendMailSSLException();
// errorBean.setStrSombreClase("Pool-> Servidor: "+ip.getHostAddress());
errorBean.setStrNombreMetodo("getConnection()");
errorBean.setStrErrorMensaje(ex.toString());
mailError.enviaMailError(errorBean);
logger.info("[ERROR][Pool]"+ ex.getMessage()+"--"+ex.toString());
}
return Pool.creaInstancia();
}
//libera las conexiones de las consultas
public void freeConnection(Connection conn){
if(conn == null){
throw new IllegalArgumentException("[Pool] No se puede cerrar una conexi\u00f3n sin memoria asignada.");
}
try {
System.out.println("[Pool] Cerrando la conexion");
conn.close();
} catch (Exception ex) {
System.out.println("[Pool] No ha sido posible liberar la conexion especificada. " + ex.getMessage());
ErrorBean errorBean=new ErrorBean();
SendMailSSLException mailError=new SendMailSSLException();
// errorBean.setStrSombreClase("Pool-> Servidor: "+ip.getHostAddress());
errorBean.setStrNombreMetodo("freeConnection()");
errorBean.setStrErrorMensaje(ex.toString());
mailError.enviaMailError(errorBean);
logger.info("[ERROR][Pool]"+ ex.getMessage()+"--"+ex.toString());
}
}
}
Valora esta pregunta


0