Foros del Web » Programación para mayores de 30 ;) » Java »

Controlar el timeout

Estas en el tema de Controlar el timeout en el foro de Java en Foros del Web. Buenos días, Estaba haciendo una pequeña aplicación de prueba en Local, aparece una ventana para hacer un login (entrada de usuario). En local va como ...
  #1 (permalink)  
Antiguo 09/05/2012, 03:16
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 1 mes
Puntos: 14
Controlar el timeout

Buenos días,

Estaba haciendo una pequeña aplicación de prueba en Local, aparece una ventana para hacer un login (entrada de usuario).

En local va como un tiro, entre otras cosas porque he accedido a la base de datos ochocientas veces y está en cacheado todo.

Cuando he puesto la aplicación en un ordenador de un compañero, he quitado su conexión a la red para que no pueda acceder a mi BD y ha intentado acceder al programa con unos datos de usuario y contraseña cualquiera.

Ha estado pensandoselo como 50 segundos y viendo el registro ha hecho como 7 intentos de acceder a la base de datos con sus respectivos timeout.

¿Cómo se controla eso?

Espero que alguien me pueda ayudar, un saludo.

Edito: He encontrado esto: stmt.setQueryTimeout(5); pero no sé si funciona bien, se supone que son segundos. Lo que no he encontrado es controlar las veces que intenta accede a la Base de Datos.
__________________
Aprendiendo un poco de Java :D

Última edición por caruizj; 09/05/2012 a las 03:58 Razón: Añadir
  #2 (permalink)  
Antiguo 09/05/2012, 05:02
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Controlar el timeout

No sé como está construida la aplicación, así que revisa la utilidad de esto:

http://java.sun.com/developer/techni...king/timeouts/
http://www.javacoffeebreak.com/artic...work_timeouts/
http://docs.oracle.com/javase/1.5.0/...Exception.html

Por ejemplo durante el proceso de login podrias controlar que salte una excepción con el timeout y ante esa excepción no hacer retry. Otra opción es permitir un máximo de intentos, incrementando un contador cada vez que salta la excepción y se ejecuta el retry.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}
  #3 (permalink)  
Antiguo 09/05/2012, 09:10
Avatar de caruizj  
Fecha de Ingreso: marzo-2012
Ubicación: Málaga
Mensajes: 161
Antigüedad: 12 años, 1 mes
Puntos: 14
Respuesta: Controlar el timeout

Pero yo no tengo establecido ningún retry, yo lo único que hago es un escuchador de botón que intenta acceder a una tabla usuarios, mira si coinciden contraseña y usuario... solamente tengo el try y en los catch tengo los que te obligan a poner

} catch (InstantiationException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (IllegalAccessException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (ClassNotFoundException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
}

Gracias, miraré la documentación que me has pasado :)
__________________
Aprendiendo un poco de Java :D
  #4 (permalink)  
Antiguo 09/05/2012, 10:18
Avatar de Fuzzylog  
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 7 meses
Puntos: 188
Respuesta: Controlar el timeout

Ya bueno, no estoy seguro de si al producirse el timeout lanza una excepción (lo puedes comprobar con un catch Exception genérico), pero si no lo hace deberías hacer tú que lanzara una personalizada.
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}

Etiquetas: controlar, programa, timeout
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:07.