Mise en Commun de Connexions Java


J'ai cherché la mise en commun des connexions et lu à ce sujet. Si je comprends bien, un pool de connexions est comme une collection de connexions ouvertes. Si une connexion est établie ou créée, elle doit être ajoutée au pool de connexions, et si cette connexion est fermée, elle doit être supprimée dans le pool de connexions; pendant qu'elle est ouverte, je peux l'utiliser encore et encore.

En lisant ces tutoriels et explications sur la mise en commun des connexions, j'ai quelques questions:

  1. Peut une piscine des connexions uniquement être utilisé sur un ordinateur? Comme Ordinateura impossible de partager son pool de connexions avec ComputerB?

  2. Où doit-on placer connection.close()?

Est-il correct d'utiliser une connexion UNIQUEMENT lors de la sélection/du chargement de l'enregistrement? Après avoir obtenu les enregistrements/données retournés, je ferme la connexion à l'instruction finally. De même que l'ajout, la modification et la suppression d'enregistrements. Et pendant qu'il est en cours de traitement je place une barre de progression de sorte que l'utilisateur devra attendre qu'elle soit terminée et faire certains processus à nouveau, ce qui signifie que je n'ouvrirai la connexion qu'une à la fois.

Merci pour l'explication. :)

Author: Paul Bellora, 2013-04-16

1 answers

Note: Je suppose que nous parlons de la java.sql.Connection interface.

Un pool de connexions peut-il être utilisé uniquement sur un certain ordinateur? Comme ComputerA ne peut pas partager son pool de connexions avec ComputerB?

Une connexion existe entre une application en cours d'exécution et une base de données. Naturellement, deux machines différentes ne peuvent pas partager la même application en cours d'exécution, elles ne peuvent donc pas partager de connexions avec une base de données.

Où devrait être {[1] } placé?

Vous devez toujours vous assurer d'appeler close() sur une instance Connection après l'avoir utilisée (généralement dans un bloc finally). Si le pooling est utilisé, cela renverra en fait la connexion au pool dans les coulisses. Référence: Fermeture des connexions JDBC dans le pool

Est-il correct d'utiliser une connexion UNIQUEMENT lors de la sélection/du chargement de l'enregistrement? Après avoir obtenu les enregistrements/données retournés, je ferme la connexion à l'instruction finally.

Oui, c'est correct. Vous ne voulez pas vous accrocher manuellement à une référence Connection - utilisez-la pour exécuter SQL/DML, puis vérifiez-la dans le pool en appelant close() dans le bloc finally, comme vous le faites.

 8
Author: Paul Bellora, 2017-05-23 12:07:53