Java - implementacion pol conexiones

 
Vista:

implementacion pol conexiones

Publicado por daniel (3 intervenciones) el 04/12/2001 11:15:08
Alguien sabe como crearse uno su propio pol de conexiones.
Necesito ejemplo
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:implementacion pool conexiones

Publicado por Xavi Canal (241 intervenciones) el 04/12/2001 12:36:50
Nas,

hay dos manera de hacer un pool, una (la más 'complicada') sería
implementando tu propio Driver de base de datos y montarte a mano
el pool, la otra sería hacer el pool directamente y en tu aplicación
pedir conexiones mediante este.

La primera opción está bien pq no tendrías que tocar código de tu
aplicación (en el caso de que ya la tengas hecha).

Para montarte tu pool simplemente puedes usar un array de
Connections y otro de booleanos para saber si estas están
siendo usadas o no. Cuando te piden una conexión simplemente
miras el array de booleanos y le das la primera libre (marcándola
antes como usada), cuando te la devuelven haces la inversa.
Todos estos procesos (get y set de conexiones) deben estar
bien sincronizados, puedes usar los métodos wait y notify de la
clase Object

espero que te sirva de algo

att. Xavi Canal
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:implementacion pool conexiones

Publicado por daniel (3 intervenciones) el 04/12/2001 13:17:40
Si, mas o menos es lo que estaba haciendo pero queria ver mas sugerencias. La aplicacion que estoy realizando es multihebra, y mi miedo es que se producca un interbloqueo, de todas maneras muchas gracias.

Por otro lado las conexiones van a se distintas, y me gustaria saber si es mejor tener una de cada o varia, y si deberan permanecer abiertas en el array.

Agradeceria si adjuntan agun ejemplo.
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:implementacion pool conexiones

Publicado por Xavi Canal (241 intervenciones) el 05/12/2001 04:49:44
Nas,

bien, podrías tener una clase que englobara el Connection,
el booleano que indica si está en uso y el nombre de USER para
conectarte. Lo de mantener abiertas las conexiones dependerá
de la carga que vaya a tener la base de datos, si solamente van a
haber un par de conexiones al dia lo mejor es que olvides el pool
pq no te ofrece ninguna mejora sustancial, lo de tener varias
conexiones diferentes lo mismo, dependerá de la carga.

Lo del nombre de User supongo que ya ves por donde va, cuando
pidas una conexión le pasas el user y el pool se lo monta para
darte la Connection correspondiente.

El problema sigue estando en los threads, el tutorial de Sun
(traducido por Ozito) sobre Threads es bastante bueno, te
explica el como usar un objeto para bloquear threads mediante
wait's y notify's

att. Xavi Canal
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:implementacion pool conexiones

Publicado por daniel (3 intervenciones) el 05/12/2001 06:10:00
Gracias pero es mas complicado que todo eso.
La aplicacion necesitara hacer uso de la conexion min, unas 10 veces segundo, los picos son muchos mas altos. El numero de threads es de 10 a 100, por lo tanto las posibilidades de interbloqueo son bastante mayores, no es tan sencillo como utilizar un monitor q implemente el wait y el notify, hay que hacer balanceo, utilizar objetos observadores, .......
De todas maneras muchas gracias.
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:implementacion pool conexiones

Publicado por Xavi Canal (241 intervenciones) el 05/12/2001 06:34:11
Nas,

mi actual proyecto tiene unas características parecidas a las que
expones, los accesos a base de datos estan 'perfectamente'
(eso espero) sincronizados con Objetos y sentencias synchronized.

Le hemos metido caña aumentando threads y peticiones durante
toda una noche y no hemos tenido ningun problema.

Aunque, de todas maneras, tu sabrás mejor que nadie si puedes
solucionar o no de esta forma.

att. Xavi Canal
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