Ver Mensaje Individual
  #1 (permalink)  
Antiguo 14/05/2013, 15:52
chimaria
 
Fecha de Ingreso: marzo-2009
Mensajes: 121
Antigüedad: 15 años, 1 mes
Puntos: 1
Tiempo de espera de la conexion

Saludos a todos, una consulta que hacer.

Tengo instalado en MySQL una base de datos en la que están las fotos de los usuarios que se muestra una vez que los usuarios acceden a ella a través de una aplicación que esta instalado en otros equipos. Hasta aquí no hay problema, el problema surge cuando el equipo esta apagado ya que el trata de conectarse y al no conseguirlo el tiempo de respuesta es muuuuy largo y la respuesta que genera son algo como esto:::
STACKTRACE:
java.net.ConnectException: Connection timed out: connect
at java.net.PlainSocketImpl.socketConnect(Native Method)
at java.net.PlainSocketImpl.doConnect(PlainSocketImpl .java:333)
at java.net.PlainSocketImpl.connectToAddress(PlainSoc ketImpl.java:195)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.j ava:182)
at java.net.SocksSocketImpl.connect(SocksSocketImpl.j ava:366)
at java.net.Socket.connect(Socket.java:516)
at java.net.Socket.connect(Socket.java:466)
at java.net.Socket.(Socket.java:366)
at java.net.Socket.(Socket.java:208)
at com.mysql.jdbc.StandardSocketFactory.connect(Stand ardSocketFactory.java:256)
at com.mysql.jdbc.MysqlIO.(MysqlIO.java:271)
at com.mysql.jdbc.Connection.createNewIO(Connection.j ava:2771)
at com.mysql.jdbc.Connection.(Connection.java:1555)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonReg isteringDriver.java:285)
at java.sql.DriverManager.getConnection(DriverManager .java:525)
at java.sql.DriverManager.getConnection(DriverManager .java:171)
at gestorBD.conectar(gestorBD.java:42)
at main_clase.(main_clase.java:20)
at main_clase$6.run(main_clase.java:243)
at java.awt.event.InvocationEvent.dispatch(Invocation Event.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java: 461)
at java.awt.EventDispatchThread.pumpOneEventForHierar chy(EventDispatchThread.java:242)
at java.awt.EventDispatchThread.pumpEventsForHierarch y(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispa tchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThre ad.java:110)
** END NESTED EXCEPTION **

Lo que yo necesito es poder controlar con un limite de tiempo es decir que si la aplicación tarda mas de 10 segundos en conectarse con la BASE que me retorne algún valor que pudiera tomarlo como referencia para yo ejecutar otra acción .

La conexión la establezco de la siguiente forma
try {
Class.forName("com.mysql.jdbc.Driver");
} catch (ClassNotFoundException e) {

System.out.println( "No se pudo cargar el puente JDBC-ODBC_MYSQL." );
e.printStackTrace();
}
try {
conexion_mysql = DriverManager.getConnection("jdbc:mysql://xxx.xx.x.x/base", "usuario", "password");

} catch (SQLException e) {
e.printStackTrace();
conex = 1;
}

SI me pueden ayudar se los agradecería