Java - conexión a dos bases de datos con jdbc

 
Vista:

conexión a dos bases de datos con jdbc

Publicado por mariola (6 intervenciones) el 25/06/2002 14:14:08
Tengo una misma base de datos en dos máquinas distintas.
Si existe cualquier fallo de conexión en la primera BD, se realiza la misma consulta en la segunda.
El problema es que cuando la 1ª máquina no tiene red, está determinado un tiempo de 3 minutos para dar fallida la conexión.
A mi me interesa que ese tiempo sea de 10 segundos para no tener que esperar 3 min. para conectarme a la segunda BD.
He intentado poner "DriverManager.setLoginTimeout(10)" pero no me sirve puesto que no tengo el control de la conexión.
¿ALguien conoce algo del tema o puede decirme donde informarme? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:conexión a dos bases de datos con jdbc

Publicado por Oscar (661 intervenciones) el 26/06/2002 11:50:11
Puedes intentar algo usando Threads. Haces que un thread que haga la conexion tenga el poder durante 10 segundos, si al terminar ese tiempo la conexion es igual a null, te conectas a la otra base de datos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:conexión a dos bases de datos con jdbc

Publicado por mariola (6 intervenciones) el 26/06/2002 12:36:55
Ya lo había pensado pero no he usado nunca Threads y no se muy bien como hacerlo.
Lo que he encontrado de Threads, habla básicamente de su uso para applets, que no es mi caso.
Esto es parte del código que utilizo, ¿Cómo debería usar el thread?

public Connection conexion(){
boolean error=false;
recoge_parametros(1); //carga los datos de la primera base de datos

Properties props = new Properties();
props.put("user", USER);
props.put("password", PASSWORD);

try {
Class.forName("oracle.jdbc.driver.OracleDriver");
DriverManager.setLoginTimeout(10);
conn=DriverManager.getConnection(BASE_DE_DATOS,props);
return conn;
}catch (ClassNotFoundException e1) {
System.out.println("Error al cargar el driver " + e1.getMessage());
error=true;
return conn;
} catch (SQLException e2) {
System.out.println("Error al hacer la conexión en la primera BD" + e2.getMessage());
error=true;
}
int num = Integer.parseInt(FicheroPropiedades.getString("NUM_BBDD"));
if(error && num>1){
recoge_parametros(2); //carga los datos de la segunda base de datos
//Se repite el proceso para la segunda Bd
props = new Properties();
...........
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar