Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1620 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  [Java] Gestion des connections à nue base de données

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Java] Gestion des connections à nue base de données

n°164719
El_gringo
Posté le 24-06-2002 à 15:48:43  profilanswer
 

La question est simple, la réponse, surement moins :
J'ai une servlet Java.
J'ai un pool de connection.
Ce pool de connection, je vais la mettre en place dans ma serlvet. D'après vous, est ce qu'il vaut mieux que j'attribue à chaque utilisateur de ma servlet, une connection, ou que, à chaque requête reçue par ma servlet, je récupère une connection ?
Bref: une Connection par utilisteur ou une Connection par requête ?


Message édité par El_gringo le 24-06-2002 à 16:12:54
mood
Publicité
Posté le 24-06-2002 à 15:48:43  profilanswer
 

n°164760
El_gringo
Posté le 24-06-2002 à 16:13:07  profilanswer
 

Bah !? ça inspire personne ?

n°164769
--greg--
Posté le 24-06-2002 à 16:18:27  profilanswer
 

bah moi je dirais 2e solution
c le principe du pool de cnx quoi
garder une cnx ouverte par user ça risque de t'en faire bcp d'ouvertes a la fois, et bcp qui meurent entre 2 utilisations aussi

n°164772
El_gringo
Posté le 24-06-2002 à 16:21:27  profilanswer
 

--greg-- a écrit a écrit :

bah moi je dirais 2e solution
c le principe du pool de cnx quoi
garder une cnx ouverte par user ça risque de t'en faire bcp d'ouvertes a la fois, et bcp qui meurent entre 2 utilisations aussi  




 
Ouais, moi aussi je pense que c mieux !
Et merde, ça remet en cause ce que j'avais commencé à faire.
Tant pis, allez, c reparti...

n°164779
--greg--
Posté le 24-06-2002 à 16:25:07  profilanswer
 

el_gringo a écrit a écrit :

 
 
Ouais, moi aussi je pense que c mieux !
Et merde, ça remet en cause ce que j'avais commencé à faire.
Tant pis, allez, c reparti...




 
?? tu penses qu'un truc est mieux et tu fais le contraire?  
 :??:

n°164789
El_gringo
Posté le 24-06-2002 à 16:37:49  profilanswer
 

--greg-- a écrit a écrit :

 
 
?? tu penses qu'un truc est mieux et tu fais le contraire?  
 :??:  




 
Bah, au début j'avais pas pensé à attribuer une connection par requête.
On peut pas tout imaginer correctement direct !

n°164812
El_gringo
Posté le 24-06-2002 à 17:08:36  profilanswer
 

Mais en fait, je suis quand même pas bien sur. Ou alors je sais pas me servir de mon pool de connections.
A quel moment j'ouvre une connection ?
A quel moment je ferme une connection ?

n°164846
therier
heu...coucou!
Posté le 24-06-2002 à 17:39:48  profilanswer
 

el_gringo a écrit a écrit :

Mais en fait, je suis quand même pas bien sur. Ou alors je sais pas me servir de mon pool de connections.
A quel moment j'ouvre une connection ?
A quel moment je ferme une connection ?




 
Tes connections sont initialisées au debut, tu crée ton pool, tu ouvres tes connections.
 
Quand quelqu'un veut faire une requete, il te demande une connection, tu lui files,il fait ce qu'il a a faire, et il te la rend.

n°165185
El_gringo
Posté le 25-06-2002 à 09:19:14  profilanswer
 

therier a écrit a écrit :

 
 
Tes connections sont initialisées au debut, tu crée ton pool, tu ouvres tes connections.
 
Quand quelqu'un veut faire une requete, il te demande une connection, tu lui files,il fait ce qu'il a a faire, et il te la rend.




 
Ouais, logique.
Ms en fait, le truc, c que j'm'y perd un peu avec le pool que g récupéré. ça s'appel Protomatter. En fait, c un driver. c à dire que pour l'utiliser, faut charger la classe du driver

Code :
  1. Class.forName("com.protomatter.jdbc.pool.JdbcConnectionPoolDriver" );


et faire un

Code :
  1. DriverManager.getConnection ("jdbc:protomatter:pool:nomDuPool" );


c bien, ms du coup, c un peu déstabilisant.
A mon avis, pour rendre une connection, je doit simplement la fermer (enfin, faire un Close dessus). tout m'est transparent j'pense.


Message édité par El_gringo le 25-06-2002 à 09:21:34
n°165197
R3g
fonctionnaire certifié ITIL
Posté le 25-06-2002 à 09:25:42  profilanswer
 

Exact, pour rendre la connction, tu la fermes et c'est tout. En fait, elle n'est pas vraiment fermée, juste elle retourne dans le pool.
Et je confirme, une connection par requete c'est mieux : le traitement de la requete dure qqs 10iemes de secondes, et la connexion redevient libre aussitot pour les autres users. Si tu donnes une connexion par user, tu vas voir besoin de beaucoup plus de connexions dispo, sachant que chacune va etre prise pendant plsusieurs 10aines de secondes (voir minutes)...
 
P.S : quznd tu m'as conseille protomatter comme pool, je pensais que tu etait un peu plus à l'aise que ca ;)


---------------
Au royaume des sourds, les borgnes sont sourds.
mood
Publicité
Posté le 25-06-2002 à 09:25:42  profilanswer
 

n°165208
El_gringo
Posté le 25-06-2002 à 09:44:23  profilanswer
 

R3g a écrit a écrit :

Exact, pour rendre la connction, tu la fermes et c'est tout. En fait, elle n'est pas vraiment fermée, juste elle retourne dans le pool.
Et je confirme, une connection par requete c'est mieux : le traitement de la requete dure qqs 10iemes de secondes, et la connexion redevient libre aussitot pour les autres users. Si tu donnes une connexion par user, tu vas voir besoin de beaucoup plus de connexions dispo, sachant que chacune va etre prise pendant plsusieurs 10aines de secondes (voir minutes)...
 
P.S : quznd tu m'as conseille protomatter comme pool, je pensais que tu etait un peu plus à l'aise que ca ;)




 
Bah non, j't'ai dis, je connais pas bien Java, JSP, servlet, pool de connection, c nouveau pr moi tt ça.
Mais protomatter, avoue que c'était un bon conseil par contre !? :D

n°165216
R3g
fonctionnaire certifié ITIL
Posté le 25-06-2002 à 09:50:44  profilanswer
 

el_gringo a écrit a écrit :

 
 
Bah non, j't'ai dis, je connais pas bien Java, JSP, servlet, pool de connection, c nouveau pr moi tt ça.
Mais protomatter, avoue que c'était un bon conseil par contre !? :D



J'ai surtout pas voulu dire le contraire ! Comme toi, j'ai ete (et je suis) un peu deroute par l'acces au pool par le DriverManager, mais c'est clair que c'est un TRES bon produit.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°165243
--greg--
Posté le 25-06-2002 à 10:44:31  profilanswer
 

R3g a écrit a écrit :

[...]j'ai ete (et je suis) un peu deroute par l'acces au pool par le DriverManager, []...



 
mais c'est justement l'interet du produit:) tu peux dev. ton appli sans t'en soucier. si t'en as marre apres de cte pool et que tu veux une cnx direct, ou que tu appli est deja dev, tu peux betement changer le driver de ta db en "driver-pool" (dans un fichier de config de ton appli, n'est-ce pas...) et pif paf voila.

n°165264
R3g
fonctionnaire certifié ITIL
Posté le 25-06-2002 à 11:05:06  profilanswer
 

--greg-- a écrit a écrit :

 
 
mais c'est justement l'interet du produit:) tu peux dev. ton appli sans t'en soucier. si t'en as marre apres de cte pool et que tu veux une cnx direct, ou que tu appli est deja dev, tu peux betement changer le driver de ta db en "driver-pool" (dans un fichier de config de ton appli, n'est-ce pas...) et pif paf voila.
 



Oui, ca j'ai bien compris et j'apprecie. Ce qui m'a troublé, c'est que du coup je ne savais plus tres bien ou placer le code d'initialisation du pool, puisqu'ensuite il n'est pas necessaire d'avoir nue reference sur celui-ci pour s'en servir. Mais bon maintenant tout marche et je suis tres satisfait par ce produit :)


---------------
Au royaume des sourds, les borgnes sont sourds.
n°165277
El_gringo
Posté le 25-06-2002 à 11:22:43  profilanswer
 

R3g a écrit a écrit :

Oui, ca j'ai bien compris et j'apprecie. Ce qui m'a troublé, c'est que du coup je ne savais plus tres bien ou placer le code d'initialisation du pool, puisqu'ensuite il n'est pas necessaire d'avoir nue reference sur celui-ci pour s'en servir. Mais bon maintenant tout marche et je suis tres satisfait par ce produit :)




 
ha, du coup tu garde pas de référence sur le pool toi !?
moi SI. le rafraichissement de toutes les connections, ça peut servir. Et puis je reconstitue l'url à chaque fois, en récupérant le nom du pool, comme ça, ils peut changer, c pas gênant. j'aime pas bien mettre des chaines de caractères en dur ds mon code.

n°165290
R3g
fonctionnaire certifié ITIL
Posté le 25-06-2002 à 11:31:09  profilanswer
 

el_gringo a écrit a écrit :

 
 
ha, du coup tu garde pas de référence sur le pool toi !?
moi SI. le rafraichissement de toutes les connections, ça peut servir. Et puis je reconstitue l'url à chaque fois, en récupérant le nom du pool, comme ça, ils peut changer, c pas gênant. j'aime pas bien mettre des chaines de caractères en dur ds mon code.



J'a gardé la référence dans un bean au cas ou,mais je m'en sert pas (pour l'instant). Le rafraichissement, je l'ai mis automatique, quant au nom du pool, il est dans un fichier properties.


---------------
Au royaume des sourds, les borgnes sont sourds.
n°165292
El_gringo
Posté le 25-06-2002 à 11:38:00  profilanswer
 

R3g a écrit a écrit :

J'a gardé la référence dans un bean au cas ou,mais je m'en sert pas (pour l'instant). Le rafraichissement, je l'ai mis automatique, quant au nom du pool, il est dans un fichier properties.




 
...Tu fais comment pour paramètrer un rafraichissement automatique ?

n°165295
El_gringo
Posté le 25-06-2002 à 11:41:36  profilanswer
 

ha, g rien dit. je l'utilise même moi aussi ! :D
pool.refreshThreadCheckInterval

n°165296
R3g
fonctionnaire certifié ITIL
Posté le 25-06-2002 à 11:42:54  profilanswer
 

el_gringo a écrit a écrit :

 
 
...Tu fais comment pour paramètrer un rafraichissement automatique ?




 

Citation :

pool.refreshThreadCheckInterval (Integer)
If present and > 0, this is the number of seconds for a low-priority thread to sleep between calls to refreshConnections() on this pool. If this option is used, you must specify the jdbc.validityCheckStatement option also.


Message édité par R3g le 25-06-2002 à 11:43:19

---------------
Au royaume des sourds, les borgnes sont sourds.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  [Java] Gestion des connections à nue base de données

 

Sujets relatifs
[java]c'est comme ca qu'on recupere le flux d'un process? [resolu][JAVA/RESEAUX] pinger / Problème avec les flux
Éxecution d'un prog javaRequête SQL dans une base Access 2000 dans une appli VB6...
Comment attaqué une base de donnée Access (*mdb) sous DelphiImporter un fichier *.txt dans une base de données Access 2000
pb avec la gestion des sessions PHP[PHP & mySQL] Comment exporter ma base local vers un hébergeur?
[PHP] transférer contenu XML vers une base de données 
Plus de sujets relatifs à : [Java] Gestion des connections à nue base de données


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR