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

Pool Muliples Bases de datos

Estas en el tema de Pool Muliples Bases de datos en el foro de Java en Foros del Web. Bueno que tal, Sé que estoy podría sonar algo poco ortodoxo y un poco complicado, ya que como lo veo implicaría tener múltiples recursos de ...
  #1 (permalink)  
Antiguo 29/05/2013, 19:46
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 14 años, 3 meses
Puntos: 15
Pool Muliples Bases de datos

Bueno que tal,

Sé que estoy podría sonar algo poco ortodoxo y un poco complicado, ya que como lo veo implicaría tener múltiples recursos de conexión para los motores compatibles y adicional dinamismo en la conexión. El tema es que sin tener que bajar la aplicación el usuario tenga la posibilidad de cambiar de base de datos o incluso aplicar consultas a mas de una de ellas...Se que podría ser algo de mucho cuidado, y de control de concurrencia pero creo que si se podria hacer. Solo me gustaría escuchar su visto bueno o algún link donde comenzar a estudiar un poco el tema con el cual se hayan topado. GRCS.

Saludos,
  #2 (permalink)  
Antiguo 29/05/2013, 20:55
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 10 años, 6 meses
Puntos: 34
Respuesta: Pool Muliples Bases de datos

Actualmente estoy desarrollando una solución que coincide con lo que dices.
Código Java:
Ver original
  1. Database database = DatabaseManager.make("default", dataSource);
  2. database.table("mangas").where("name", Operator.NOT_SAME, "").lists("name");
  3.  
  4. DatabaseManager.database("test").table("mangas").delete();
  #3 (permalink)  
Antiguo 31/05/2013, 22:51
Avatar de SPAWN3000  
Fecha de Ingreso: marzo-2008
Ubicación: Bogota
Mensajes: 858
Antigüedad: 14 años, 3 meses
Puntos: 15
Respuesta: Pool Muliples Bases de datos

Hola para iniciar gracias or la respuesta, pero tengo una pregunta, imagino creas con anticipacion las conexiones a las distintas bases de datos...es decir si las bases de datos son:

- SQL Server.
- Oracle.
- Sybase.

De antemno tendrias que tener una conexión en el servidor previa que mantendria activa y lo unico que haria el aplicativo es cambiar entre estas tres de llegar a necesitarlos??
  #4 (permalink)  
Antiguo 31/05/2013, 23:18
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 10 años, 6 meses
Puntos: 34
Respuesta: Pool Muliples Bases de datos

Cita:
Iniciado por SPAWN3000 Ver Mensaje
Hola para iniciar gracias or la respuesta, pero tengo una pregunta, imagino creas con anticipacion las conexiones a las distintas bases de datos...es decir si las bases de datos son:

- SQL Server.
- Oracle.
- Sybase.

De antemno tendrias que tener una conexión en el servidor previa que mantendria activa y lo unico que haria el aplicativo es cambiar entre estas tres de llegar a necesitarlos??
Lo que hago es registrar la base de datos en el Manager con el respectivo dataSource previamente configurado con la información de la base de datos:
Código Java:
Ver original
  1. Database database = DatabaseManager.make("default", dataSource);

Se pueden agregar multiples bases de datos con un identificador diferente:
Código Java:
Ver original
  1. DatabaseManager.make("default", dataSource);
  2. DatabaseManager.make("test", dataSource);
  3. DatabaseManager.make("oracle", dataSource);

y a la hora de hacer consultas simplemente le pido la base de datos que necesite:
Código Java:
Ver original
  1. DatabaseManager.database("default").table("mangas").where("name", Operator.NOT_SAME, "").lists("name");
  2. DatabaseManager.database("oracle").table("test").delete();

Como te comento esta es la solución a la que yo llegue y puede que no sea la mejor.
  #5 (permalink)  
Antiguo 31/05/2013, 23:20
 
Fecha de Ingreso: diciembre-2011
Mensajes: 152
Antigüedad: 10 años, 6 meses
Puntos: 34
Respuesta: Pool Muliples Bases de datos

Por cierto las conexiones las manejo internamente con pools con la librería de apache commons-dbcp

Etiquetas: bases, pool
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 20:31.