[JAVA JDBC] durée de vie de la connexion

Voir le sujet précédent Voir le sujet suivant Aller en bas

resolu [JAVA JDBC] durée de vie de la connexion

Message  jonas le Lun 27 Aoû 2012, 15:23

Bonjour,

Je me demandais si j'avais intérêt à garder une connexion ouverte avec ma base de donnée durant toute la session du logiciel (Ajout/Modification/Recherche de notes) ou bien s'il valait mieux ouvrir/fermer la connexion à chaque action de mon utilisateur.

Code:
DriverManager.getConnection("jdbc:sqlite:.......")

Language : Java (JDBC)
SGBD: SqlLite (localement) en principe, mais pourquoi pas penser à une possible évolution...
Utilisation: 1 utilisateur par logiciel+BD en principe... sur desktop ou sur smartphone
Évolution possible: synchronisation de plusieurs logiciels clients à une BD distante (smartphone <=> desktop).
Remarque: Sur mon smartphone de test (ARM7 600MHz, 256RAM, debian), l'utilisation de JDBC+SqlLite en Embeded Java semble assez lourde (quelques secondes pour la première requête (select noms tables), quelques dizaines de secondes pour créer la base (4 petites tables vides), 1-2 sec pour ajouter une ligne)


Dernière édition par jonas le Jeu 30 Aoû 2012, 23:26, édité 4 fois

jonas

Nombre de messages : 234
Prénom : Jonathan
Statut : Ancien industrialisé
Localisation : Devant son clavier BÉPO !
Date d'inscription : 29/09/2008

http://www.xax.be

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  michaelvd le Lun 27 Aoû 2012, 21:20

Toujours ouvrir/(action)/fermer. Fermer à chaque fois libère les ressources et fait un appel au "garbage collector". Le fait de faire des open et close tout le temps peut faire croire à une perte de performance, mais le close libère un "pool", ET ne rompt pas spécialement la connexion entre ton programme et la DB.

michaelvd

Nombre de messages : 117
Age : 28
Prénom : Michaël
Statut : 2ième Réseaux/Télécom
Localisation : Bruxelles
Date d'inscription : 16/09/2009

http://www.binturong.be

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  jonas le Mar 28 Aoû 2012, 11:06

Merci Smile

D'autres avis allant dans ce sens (ou non) ?

jonas

Nombre de messages : 234
Prénom : Jonathan
Statut : Ancien industrialisé
Localisation : Devant son clavier BÉPO !
Date d'inscription : 29/09/2008

http://www.xax.be

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  michaelvd le Mar 28 Aoû 2012, 14:15

Ca serait bien effectivement d'avoir un avis plus pro que le miens, mais ici se trouve une bonne théorie pour te faire une idée (en anglais).

michaelvd

Nombre de messages : 117
Age : 28
Prénom : Michaël
Statut : 2ième Réseaux/Télécom
Localisation : Bruxelles
Date d'inscription : 16/09/2009

http://www.binturong.be

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  LSV le Jeu 30 Aoû 2012, 16:47

Application distribuée, 3eme gestion, TD2 de M Codutti:

Pour accéder à une BD, le gestionnaire d'entité doit créer une connexion (vous avez vu ce
mécanisme avec JDBC). Garder la connexion ouverte en permanence est à proscrire car
cela bloque une ressource et la récréer à chaque fois est lent. C'est pour cela que l'on met en
place un pool de connexions, c'est à dire une collection de connexions créées à l'avance et
recyclées, réutilisées durant la vie de l'application. Lorsqu'on ferme une connexion, elle est
remise dans le pool de façon transparente et pourra être réutilisée à la prochaine demande.

LSV

Nombre de messages : 638
Age : 27
Prénom : Jérome
Statut : Diplomé 2013
Localisation : Anderlecht
Date d'inscription : 24/09/2007

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  jonas le Jeu 30 Aoû 2012, 23:24

Super merci pour ces infos Smile

jonas

Nombre de messages : 234
Prénom : Jonathan
Statut : Ancien industrialisé
Localisation : Devant son clavier BÉPO !
Date d'inscription : 29/09/2008

http://www.xax.be

Revenir en haut Aller en bas

resolu Re: [JAVA JDBC] durée de vie de la connexion

Message  Contenu sponsorisé Aujourd'hui à 20:42


Contenu sponsorisé


Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum