[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 : 28
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é


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